0

wordpress在主页上显示最近的帖子。设置为每页 18 个帖子。如何制定一些规则以在第一页(如配置)上显示 18 个帖子,在第二页和后续页面上显示 8 个帖子?

<?php while ( have_posts() ) : the_post();  
    get_template_part( 'content', get_post_format() );
endwhile; ?>

尝试了以下方法:

add_filter( 'pre_get_posts', 'my_get_posts' );
function my_get_posts( $query ) {
if ($query->is_main_query()){
    if (is_home()){
        $query->set('showposts', 18);
    }
    else {
        $query->set('showposts',7);
        $query->set('posts_per_page',7);
    }
}
return $query;
}

没有效果 :-(

4

1 回答 1

2

您可以使用函数 is_home() 检查您的位置: http ://codex.wordpress.org/Function_Reference/is_home

在您的 php 函数中,如果您不在家,您可以更改每页的帖子编号,但这可能会对您的导航功能造成一些问题。

你试过这个插件吗? http://wordpress.org/extend/plugins/custom-posts-per-page/

它可能包含一些有趣的代码来解决您的问题。

于 2012-09-17T08:43:59.153 回答