Php wordpress-类别不在不工作中

Php wordpress-类别不在不工作中,php,wordpress,Php,Wordpress,我在获取查询函数时遇到问题。我需要运行循环,不包括特定类别 我试图在中使用category\uuu,但在某些方面根本不起作用 <?php $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'category__not_in' => array( '44' ), 'posts_per_page' => 9, 'paged' => get_

我在获取查询函数时遇到问题。我需要运行循环,不包括特定类别

我试图在中使用
category\uuu,但在某些方面根本不起作用

<?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);
?>

但是什么都不起作用=(

$args
数组中使用
'cat'=>'-44'

$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'cat' => '-44',
    'posts_per_page' => 9,
    'paged' => get_query_var('paged')
);

这是本书中推荐的方法。

谢谢各位,多亏了

问题是在我的查询中,我使用了
WP\u query()
query\u posts()

我使用了如何引用WP法典:

下面是我的代码在最后的表现:

<?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 );
?>

<?php
  if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
      $query->the_post();
?>

// code

<?php
    }
  } else {
    // no posts found
  }
  wp_reset_postdata();
?>

//代码

尝试改用税务查询:

<?php
  $args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => 9,
    'paged' => get_query_var('paged'),
    'tax_query' => array(
        array(
            'taxonomy' => '<YOUR TAXONOMY NAME>',
            'field'    => 'term_id',
            'terms'    => array( 44 ),
            'operator' => 'NOT IN',
        ),
    ),

  );
  $query = new WP_Query( $args );

  query_posts($query);
?>


如中所述,正确的方法是
'category\uu not\u in'=>数组(44)
我测试了它,但它不起作用。为什么您同时使用
WP\u Query()
Query\u posts()
?您不应该使用
Query\u posts()
。您还应该使用
数组(44),
。否则,查询没有问题。请确保您使用的是正确的类别ID。这肯定是另一种方式,但仍然无法解释为什么OP不起作用。关于这一点,Github存在一个封闭的问题。他们说这是因为
category\u not\u in
是一个私有查询变量,这意味着它就是它在这种情况下,没有将的用作查询变量。Github的问题与此完全不同(WP API中使用了一个URL查询变量)。不确定为什么会被否决,解决了我的问题,还允许您对帖子进行更复杂的筛选,请参阅
<?php
  $args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'posts_per_page' => 9,
    'paged' => get_query_var('paged'),
    'tax_query' => array(
        array(
            'taxonomy' => '<YOUR TAXONOMY NAME>',
            'field'    => 'term_id',
            'terms'    => array( 44 ),
            'operator' => 'NOT IN',
        ),
    ),

  );
  $query = new WP_Query( $args );

  query_posts($query);
?>