通过wpQuery限制帖子数量

时间:2014-12-27 作者:Skotlive

我们假设一个类别有1000篇文章,我们可以使用下面的代码显示每页10篇文章,wp pagenavi将显示100页,其中链接超过1000篇文章。

<?php query_posts($query_string."&showposts=10&orderby=date&order=ASC") ?>
我有没有办法只显示100篇最近的帖子,而隐藏剩下的900篇帖子,因为它们可能太旧了?我用了数字键,但没用。我的代码如下:

<?php query_posts($query_string."&showposts=10&numberposts=100&orderby=date&order=ASC") ?>
<?php 
$mypage = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$ppp = get_query_var(\'posts_per_page\');
$counter = ($mypage * $ppp) - $ppp; 
while(have_posts()) : the_post(); 
    $counter++; // that pushes the zero based counter up one ?> 
    <span class="num"><?php edit_post_link(\'♪\'); ?><?php echo $counter;?>. </span>
<?php echo get_the_title(); ?>
<?php endwhile; ?>
谢谢

2 个回复
SO网友:Pieter Goosen

好吧,没有办法用默认设置来限制分页查询的数量。您可以使用提供的过滤器来更改SQL查询。

您也不想使用query_posts 您甚至不需要自定义查询。如果这是主查询,则需要使用pre_get_posts 在执行主查询之前更改查询变量。这样,在分页查询时就不会有问题

但是,您可以限制使用next_posts_link. 您只需设置所需的页数即可。

示例:

next_posts_link( \'Older Entries\',10 );

SO网友:Robert hue

实际上你需要做的是max_num_pages10.因此,在启动while循环之前,需要设置它的值。

$wp_query->max_num_pages = 10;
不确定是否$wp_query 就在这里,因为定制更容易WP_Query 建议使用。因为query_posts 通常是休息。了解更多信息here.

而且,没有这样的事情showpostsnumberposts 现在,使用posts_per_page 相反下面是您的查询。

<?php query_posts($query_string."&posts_per_page=10&orderby=date&order=ASC"); ?>
您可以在上阅读所有接受的参数query_posts 抄本中的页面。

结束

相关推荐

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

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