这是我的category.php。我想过滤此类别中的一些帖子。帖子张贴在父母和子女类别中。仅显示此类别中的帖子,而不显示子类别中的帖子。当变量作为变量给出时,“category__not_in”不起作用。如果我使用
'category__not_in'=> array(20,22,23,24)
像这样完美地工作..在下面的代码中'category__not_in'=> array($sub_cat_ids)
不起作用。请帮忙
<?php
$current_cat_id = get_cat_id( single_cat_title("",false) );
$catlist = get_categories('hide_empty=0&child_of='.$current_cat_id.'&depth=10&parent='.$current_cat_id );
$sub_cat_ids = "";
foreach($catlist as $cat){
$sub_cat_ids = $cat->cat_ID.",".$sub_cat_ids;
}
if(!empty($catlist)){ ?>
<ul class="insight_style">
<?php
$i=1;
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'category__not_in'=> array($sub_cat_ids),// not working
'category__in' => $current_cat_id,
'paged' => $paged
);
$page_query = new WP_Query($args);
if ( $page_query->have_posts() ) : while ($page_query->have_posts()) : $page_query->the_post();
} ?>
<li>
// do some stuff
</li>
<?php $i++; endwhile; endif; wp_reset_query(); ?>
</ul>
<?php } ?>
答案 0 :(得分:0)
让我们将类别收集到一个数组中:
foreach ($catlist as $cat) {
$catIds[] = $cat->cat_ID;
}
后来加入他们:
'category__not_in'=> array(join(",",$catIds)),
但首先,var_dump($catlist);
要看,是否有任何类别。