我有一个简单的循环,输出帖子的内容,然后在底部添加一些导航链接。Wordpress设置为一次仅显示5篇文章。
<?php while(have_posts()) : the_post(); ?>
<div class="post">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<div class="navigation"><?php posts_nav_link(" - ", "« Newer Posts", "Older Posts »"); ?></div>
<?php wp_reset_postdata(); ?>
我的客户要求我对此进行修改,并从列表中排除一个类别。我尝试添加
<?php query_posts(\'cat=4\'); ?>
在循环之前。这确实过滤掉了所需的帖子,但它却打乱了导航。现在,当我按下页面底部的“旧帖子”链接时,我不会收到6-10篇帖子。相反,帖子1-5只是重复。然而,url确实更改为
/news/page/2
. 如果我再次按下“旧帖子”链接,我仍然会收到帖子1-5,url会更改为
/news/page/3
. 我总共有22篇帖子,所以我可以重复这个过程4次。Wordpress在点击4次后删除底部的“旧帖子”链接,这样它就可以了解我总共有多少篇帖子(并且每次都会相应地调整url)。它只是不能输出正确的帖子。
我还尝试创建一个全新的查询
<?php $query = new WP_Query( \'cat=4\'); ?>
<?php while($query->have_posts()) : $query->the_post(); ?>
<div class="post">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<div class="navigation"><?php posts_nav_link(" - ", "« Newer Posts", "Older Posts »"); ?></div>
<?php wp_reset_postdata(); ?>
那也没用。有人能给我指出正确的方向吗?