在WordPress主题的category.php中,您有以下循环:
if ( have_posts() ) : while ( have_posts() ) : the_post();
// output posts
endwhile; endif;
你如何输出这个完全相同的循环,但有一个偏移量?我发现你可以通过
来改变循环query_posts('offset=4');
但是这会重置整个循环并且偏移量有效,但会显示每个类别的所有帖子,所以我得到的结果是query_posts完全重置了循环并且仅使用您添加的过滤器来完成。有没有办法告诉循环:
"做你正在做的事情,除了抵消使它成为4"
这可能吗?
谢谢!
答案 0 :(得分:7)
首先不要使用query_posts()
see here而是使用WP_Query
试试这个:
//To retrieve current category id dynamically
$current_cat = get_the_category();
$cat_ID = $current_cat[0]->cat_ID;
$loop = new WP_Query(array(
'offset' => 4, //Set your offset
'cat' => $cat_ID, //The category id
));
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
// output posts
endwhile; endif;
是的Wordpress声明:
设置offset参数会覆盖/忽略分页参数和 打破分页(Click here for a workaround)
只需遵循分页解决方法说明,您就可以了。