首页上的帖子数量不同

时间:2011-07-16 作者:Mike

我想在我的头版上发表5篇文章,但在随后的页面上发表10篇文章(第2、3、…)。

在我的设置>阅读>博客页面显示最多>我有10个。但我只想在首页显示5篇文章,所以在索引中。php我使用这个:

if ( $paged <= 1 ) $posts = query_posts($query_string.\'&posts_per_page=5&paged=\'.$paged);
很好,除了。。在第2页中,第6到第10篇帖子不显示。似乎从第2页开始,WP«认为»首页实际上显示了前10篇帖子,而不仅仅是5篇。

我能做什么?

4 个回复
SO网友:Lea Cohen

有一个post_limits 可用于此目的的挂钩:

// in homepage show 6 posts
add_filter(\'post_limits\', \'homepage_limits\' );
function homepage_limits( $limits )
{
     if(is_home() ) {
        return  \'LIMIT 0, 6\';;
     }
 return $limits;
}

SO网友:Sean Lee

Try this:

$page_num = $paged;
if ($pagenum=\'\') $pagenum = 1;
if ($pagenum > 1) { $post_num = 10 } else { $post_num = 5 }
  query_posts(\'showposts=\'.$post_num.\'&paged=\'.$page_num); 
    if (have_posts()) : while (have_posts()) : the_post();
    endwhile;endif;
SO网友:Joshua

对不起,我只是觉得很无聊,正在浏览档案。你可以这样做:

if(is_home() || is_front_page) { //some themes forget one or the other
    $post_num = 5;
} else {
   $post_num = 10;
}
query_posts(\'showposts=\'.$post_num.\'&paged=\'.$page_num); 
    if (have_posts()) : while (have_posts()) : the_post();
    endwhile;endif;

SO网友:gonssal

Try this.

function frontpage_custom_post_count(&$query)
{
    // show specific number of posts on frontpage
    $frontpagePostsCount = 5;
    if (is_front_page() and !is_paged()) {
        $query->query_vars[\'posts_per_page\'] = $frontpagePostsCount;
    }
    // show configured posts on the rest of pages, offsetting the ones showed on frontpage
    if (is_front_page() and is_paged()) {
        $posts_per_page = isset($query->query_vars[\'posts_per_page\']) ? $query->query_vars[\'posts_per_page\'] : get_option(\'posts_per_page\');
        $query->query_vars[\'offset\'] = (($query->query_vars[\'paged\'] - 2) * $posts_per_page) + $frontpagePostsCount;
    }
}
add_action(\'pre_get_posts\', \'frontpage_custom_post_count\');
结束

相关推荐