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