让我们在Wordpress页面上看到事实:
设置中的默认配置>阅读>最多显示:12个帖子
我想要什么
主页,第1页,9篇帖子
主页,第2页,第12页,
在第1页中,我发布了第1到第9个帖子(总共9个)。在第2页,帖子13到24(共12个)。帖子10,11& 12被忽略了,不知道为什么。
循环前的代码:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ($paged == 1) { $numposts = 9; }
elseif ($paged > 1) { $numposts = 12; }
query_posts('posts_per_page='.$numposts.'&paged='.$paged);
干杯!
答案 0 :(得分:1)
最后找到答案:http://wpdevelopertips.com/different-number-of-posts-in-pagination-pages/
我需要:
第1页:帖子#1到#9(共9个)
第2页:帖子#10到24(共12个)
第2页:12个帖子,然后......
所以,在循环之前:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if ($paged == 1) { $numposts = 9; $theoffset = "";}
elseif ($paged > 1) { $numposts = 12; $theoffset = 9 + ($paged - 2) * 12;}
query_posts('showposts='.$numposts.'&paged='.$paged.'&offset='.$theoffset);
请注意,theoffset变量中的数字与每个特定页面所需的帖子数量相关。
答案 1 :(得分:0)
我会猜测:对于第一页,参数是
?posts_per_page=9&paged=1
第二页:
?posts_per_page=12&paged=2
我猜想Wordpress会使用以下内容(伪代码)来确定要包含在页面中的帖子。 (无论如何,这就是我要做的。)
first_on_page = posts_per_page * (paged - 1) + 1
last_on_page = first_on_page + posts_per_page - 1
第一个9帖子页面(您的第1页)将包含帖子1-9。第二个12页的帖子(第2页)将包含帖子13-24。
为什么问题正在发生。至于修复,我不是Wordpress大师,所以我只能建议在任何地方使用12个帖子的页面,并以其他方式表达敬意。