我已经为客户定制了存档页面,并编辑了它进行的查询,以排除类别并将页面限制为8个帖子。我还添加了一个使用“存档”小部件的边栏。每当我单击“存档”链接时,它将显示所有帖子,而不显示该月的帖子。标签也会发生同样的事情,它将返回所有帖子,而不仅是带有该标签的帖子。
<div class="row site-module-inner">
<?php $args = array( 'posts_per_page' => 8,
'category__not_in' => get_category_by_slug('news')->term_id,); ?>); ?>
<?php $query = new WP_Query($args); ?>
<?php $count = $query->post_count;
$counter = $query->post_count;
if ($count % 2 == 0) {
$last = true;
} else {
$last = false;
}
?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<div class="item <?php if ((!($last) && $counter == 1) || ($last && $counter <= 2)) { echo " bottom"; } ?> ">
<?php get_template_part( 'template-parts/post', 'listing' ); ?>
</div> <!-- item -->
<?php $counter--; ?>
<?php endwhile; wp_reset_query();?>
</div> <!-- row -->
我提供的是存档页面的查询循环,该页面上除了分页循环外没有其他查询循环,但是它不会影响主循环,我已经对此进行了测试。任何建议或见解均会受到赞赏
答案 0 :(得分:1)
使用wp_reset_postdata,而不是wp_reset_query()。
答案 1 :(得分:0)
我已经找到了解决自己问题的方法,自定义查询完全覆盖了原始查询中的所有参数。这就是为什么它不起作用的原因。