我有一个wp查询循环。我想检查帖子是否属于某些类别。我可以使用the_category()
获取该类别。我试过了
if(the_category()==`car`){do somthing}
以及如何将除汽车类别之外的所有剩余帖子推送到所有' car'类别。
答案 0 :(得分:1)
the_category()
会返回多个类别。
您可能想尝试get the category
$categories = get_the_category();
foreach($categories as $cat) {
if($cat->cat_name == 'car') {
// do something
}
}
答案 1 :(得分:1)
您可以在此处运行两个查询。第一个查询获取汽车护理的所有帖子。第二个查询获取除car
类别的帖子之外的所有其他帖子。只需记住使用汽车类别的ID更改CATID FOR CAR
,并且不要忘记第二个查询中ID之前的减号。减号表示排除。
您可以在codex中详细了解:WP_Query
$do_not_duplicate = array();
$args = array(
'cat' => CATID FOR CAR
);
$carargs = new WP_Query( $args );
if( $carargs->have_posts()):
while ($carargs->have_posts()) : $carargs- >the_post();
$do_not_duplicate[] = $post->ID;
<----your loop---->
endwhile;
endif;
wp_reset_postdata();
$args2 = array(
'cat' => -CATID FOR CAR,
'post__not_in' => $do_not_duplicate
);
$restargs = new WP_Query( $args2 );
if( $restargs->have_posts()):
while ($restargs->have_posts()) : $restargs- >the_post();
$do_not_duplicate[] = $post->ID;
<----your loop---->
endwhile;
endif;
wp_reset_postdata();