在WordPress中为类别循环添加偏移量

时间:2014-01-17 21:01:07

标签: php wordpress

在WordPress主题的category.php中,您有以下循环:

if ( have_posts() ) : while ( have_posts() ) : the_post(); 
// output posts
endwhile; endif;

你如何输出这个完全相同的循环,但有一个偏移量?我发现你可以通过

来改变循环
query_posts('offset=4');

但是这会重置整个循环并且偏移量有效,但会显示每个类别的所有帖子,所以我得到的结果是query_posts完全重置了循环并且仅使用您添加的过滤器来完成。有没有办法告诉循环:

"做你正在做的事情,除了抵消使它成为4"

这可能吗?

谢谢!

1 个答案:

答案 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)

只需遵循分页解决方法说明,您就可以了。