WP_QUERY每页额外拉取一个帖子

时间:2013-02-13 作者:chowwy

我正在查询所有帖子的列表,每页20个帖子,但结果显示所有帖子,但每页21个帖子。如果我将posts\\u per\\u page更改为19,则显示20。一个帖子很粘,出现两次;不确定这是否是导致问题的原因。

代码:

$allposts = array( 
    \'post_type\'         =>  \'post\',
    \'posts_per_page\'    =>  20
    );

$wp_query = new WP_Query($allposts); ?>

<?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
<li><?php the_title(); ?></li>

<?php foo_pagination(); ?>

<?php endwhile; ?>

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

粘性帖子确实会增加帖子数量,而不是包含在其中。不过,您可以更改查询以忽略粘性帖子。

$allposts = array( 
    \'post_type\'           =>  \'post\',
    \'posts_per_page\'      =>  20,
    \'ignore_sticky_posts\' => true
);
但您也缺少分页参数。

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$allposts = array( 
    \'post_type\'           =>  \'post\',
    \'posts_per_page\'      =>  20,
    \'ignore_sticky_posts\' => true,
    \'paged\'               => $paged
);

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post