我正在使用使用以下查询的博客页面:
<?php
$paged = (get_query_var("paged")) ? get_query_var("paged") : 1;
query_posts("category_name=blog&posts_per_page=2&paged=".$paged);
?>
我的分页方式如下所示:
<?php
$next = get_next_posts_link("Next >>");
$prev = get_previous_posts_link("<< Prev");
if ($prev || $next) { ?>
<div id=\'pagi\'>
<?php } ?>
<?php if ($next) { ?>
<div class="right button">
<?php echo $next; ?>
</div>
<?php } ?>
<?php if ($prev) { ?>
<div class="left button">
<?php echo $prev; ?>
</div>
<?php } ?>
<?php if ($prev || $next) { ?>
<div class="clear">
<!-- -->
</div>
<?php } ?>
<?php if ($prev || $next) { ?>
</div>
<?php }
?>
分页在一定程度上起作用。。。我看到了上一页和下一页的链接,可以单击下一页,直到我到达第3页,而不是到达第3页,我得到了一个404,这很奇怪,因为我知道有更多的内容,WordPress只是因为某种原因没有显示它。任何人都知道是什么导致了这个问题,奇怪的是,我在另一个网站上使用了准确的代码,没有错误:-(permlinks设置为默认值,我没有使用自定义的帖子类型。
谢谢,乔希
最合适的回答,由SO网友:Josh Rodgers 整理而成
好啊
现在这特别奇怪。。。我发现这个论坛帖子:http://wordpress.org/support/topic/error-404-on-pagination-when-changing-posts_per_page-on-query_posts
基本上就是说,如果你将帖子数量限制在10个以下(这是WordPress的默认值),sometimes 它可以中断分页。要解决此问题,只需将默认数字设置为小于10,即可修复分页。这听起来很奇怪,但我将我的默认每页帖子数设置为1,而且我的分页是固定的!
这解决了我的问题,但我不知道为什么,有没有其他人遇到过这个问题,或者知道为什么WordPress在这种情况下会破坏分页?
EDIT: 环顾四周后,似乎您的帖子数量必须大于WordPress默认值。例如,在我的测试博客上,我有8篇文章,所以如果我将限制改为9,分页仍然会被打破。。。但是如果我把它改成一个,效果很好,因为我肯定有不止一个帖子——不管怎么可能,这种情况都会发生posts_per_page
我开始query
. 真奇怪。。。有人知道为什么会这样吗?
谢谢,乔希