get_posts没有返回所有帖子

时间:2012-08-17 17:36:32

标签: wordpress

我必须手动挂载博客文章,但我不确定这是否是正确的工作方式,它只带9页,每篇有4个帖子,但博客有83个帖子!

<?php
    $paged = get_query_var('paged');
    $args = array(
        'numberposts'       => 4,
        'offset'            => $paged*4,
        'orderby'           => 'post_date',
        'order'             => 'DESC',
        'post_type'         => 'post',
        'post_status'       => 'publish',
        'suppress_filters'  => true
    );
    $posts_array = get_posts( $args );
?>

非常感谢。

2 个答案:

答案 0 :(得分:75)

问题是您的'号码'设置为4 把它放在-1以获得所有帖子:

 'numberposts'       => -1,

如果您未在此设置号码,WordPress将从您的信息中心设置中提取帖子数量(在“设置” - >“阅读”下)

答案 1 :(得分:5)

以下注释来自此codex section

  

注意:使用偏移量时,上述查询应仅用于a   包含多个帖子的类别,否则就没有   输出

因此,为了显示所有帖子,每个类别中至少应有2个帖子。

您可以尝试Loops获取所有帖子。同时检查The Loop in Action