I am using this code, trying to exclude specific authors from WP_Query, however the author IDs in the array are not being excluded. Any ideas please?

$args = array(
    'meta_query' => array(
        array('who' => 'authors')
    array( 'author__not_in' => array(10, 3, 4) )
$site_url = get_site_url();
$wp_user_query = new WP_User_Query($args);
$authors = $wp_user_query->get_results();

exclude specific authors from WP_Query

You can do it like so:

$args = array(
    'author__not_in' => array( 10, 3, 4 ),
$posts_query = new WP_Query( $args );

But if you meant "from WP_User_Query", then in WP_User_Query, you should use the exclude parameter, and that array('who' => 'authors') shouldn't be in meta_query:

$args = array(
    'exclude' => array( 10, 3, 4 ), // not author__not_in
    'who'     => 'authors',         // not in meta_query
$users_query = new WP_User_Query( $args );

For the full list of parameters, refer to WP_User_Query::prepare_query() for WP_User_Query, or WP_Query::parse_query for WP_Query.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.