我想显示所有非图库类型的博客类别。我的代码几乎可以用,但是如果我在同一类别中有2个帖子,则该类别会显示两次,即:
如果我创建一个名为“新闻”的类别并添加2个非画廊帖子,则显示为:
news news
不只是
news
<?php
$galleryPosts = new WP_Query(array(
'post_type' => 'post',
'order' => 'ASC'
));
?>
<?php if ( $galleryPosts->have_posts() ) : ?>
<?php while ( $galleryPosts->have_posts() ) : $galleryPosts->the_post(); ?>
<?php if(!has_post_format('gallery')) {
the_category();
}
?>
<?php endwhile; ?>
<?php endif; ?>
答案 0 :(得分:0)
要禁止显示非画廊帖子,请尝试首先仅选择那些帖子,然后取消has_post_format('gallery')
选中:
$posts = new WP_Query(
array(
'post_type' => 'post',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array(
'post-format-gallery'
),
'operator' => 'NOT IN'
)
)
)
);
然后在PHP中:
if ($posts->have_posts()) {
while ($posts->have_posts()) {
$posts->the_post();
the_category();
}
}