29

我必须手动挂载博客文章,但我不确定这是否是正确的工作方式,它只有 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 );
?>

不管怎么说,还是要谢谢你。

4

2 回答 2

84

问题是您的“numberposts”设置为 4 将其设置为 -1 以获取所有帖子:

 'numberposts'       => -1,

如果您未在此处设置 numberposts,WordPress 将从您的仪表板设置中提取帖子数量(在设置 -> 阅读下)

于 2012-10-31T20:56:34.223 回答
5

以下注释来自此法典部分

注意:使用偏移量时,上述查询只能用于其中包含多个帖子的类别,否则将没有输出。

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

您可以尝试循环来获取所有帖子。还要检查循环运行

于 2012-08-18T05:07:59.660 回答