wordpress - category__not_in not working

Viewed 21667

I'm having a problem getting my query function. I need to run the loop, excluding a particular category.

I'm trying to use category__not_in, but is not working at all some.

<?php
  $args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'category__not_in' => array( '44' ),
    'posts_per_page' => 9,
    'paged' => get_query_var('paged')
  );
  $query = new WP_Query( $args );

  query_posts($query);
?>

I've already tried:

'category__not_in' => array( '44' ),
'category__not_in' => array( 44 ),
'category__not_in' => '44',
'category__not_in' => 44,

But nothing works =(

4 Answers

To exclude a category in the search use this:

function search_filter($query)
{
if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search)
    {
        $taxquery = array(
            array(
                'taxonomy'  => 'category',
                'field'     => 'term_taxonomy_id',
                'terms'     => 244,
                'operator'  => 'NOT IN',
            )
        );
        $query->set( 'tax_query', $taxquery );
    }
}

}

add_action('pre_get_posts','search_filter');

Related