我正在开发我的主题的博客模板,其工作原理如下:用户可以输入要显示在每个博客页面上的帖子总数($blogpost_count
). 博客本身以两种不同的方式列出帖子,如下所示:
首先,最新的X(X等于$blogpost\\u count)帖子与query\\u帖子一起定期列出,然后,以下2篇帖子与get\\u帖子一起列出,偏移量等于$blogpost_count
.现在,两种时尚/查询之间的区别仅仅是CSS。也就是说,第一个帖子列表具有某种风格,第二个帖子列表具有另一种风格。此外,第二个列表始终由指定的$blogpost_count
, 基本上显示相邻立柱(如果可用)。
Here\'s my issue: 这种方法在第一个博客页面上完美无瑕。但是,当用户导航回查看旧帖子时(即使用next_posts_link()
, 最终在is_paged()
博客页面),偏移量不会“调整”到显示的新帖子数。因为\'offset\' => $blogpost_count
, 该变量仍然适用于第二个博客页面,即使只列出了1篇文章。
我的逻辑告诉我我需要这样的东西(简化):
if(!is_paged()) {
\'offset\' => $blogpost_count;
} else {
\'offset\' => $number_of_currently_displayed_posts_PLUS_off_all_newer_posts;
}
我希望我能彻底解释清楚
谢谢!
EDIT: 您可以查看a static HTML example of the blog-template, 希望能从视觉上更好地理解我的概念。
最合适的回答,由SO网友:Michael 整理而成
try:
if(!is_paged()) {
$post_offset = $blogpost_count;
} else {
$post_offset = (get_query_var(\'paged\')-1)*2+$blogpost_count;
}
...
...
\'offset\' => $post_offset;