保持GET_POST的偏移量和IS_PAGE()同步

时间:2011-12-10 作者:cr0z3r

我正在开发我的主题的博客模板,其工作原理如下:用户可以输入要显示在每个博客页面上的帖子总数($blogpost_count). 博客本身以两种不同的方式列出帖子,如下所示:

首先,最新的X(X等于$blogpost\\u count)帖子与query\\u帖子一起定期列出,然后,以下2篇帖子与get\\u帖子一起列出,偏移量等于$blogpost_count.$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, 希望能从视觉上更好地理解我的概念。

2 个回复
最合适的回答,由SO网友:Michael 整理而成

try:

if(!is_paged()) {      
    $post_offset = $blogpost_count; 
} else {     
    $post_offset = (get_query_var(\'paged\')-1)*2+$blogpost_count; 
} 

...
...
   \'offset\' => $post_offset;
SO网友:cr0z3r

对不起-我很快就回答了。我的解决方案部分修复了偏移量,但它导致了其他问题。尽管如此,我的问题仍然存在,我真的很感激能得到的任何帮助。

非常感谢。

结束

相关推荐