WordPress posts_per_page如何将第一页的文章数设置成与其他页的数量不同

发布时间:2012-08-16 18:06:45

最近有个客户提到这样一个需要,就是首页先显示20篇文章,再每页加载10篇(点击加载更多),这样就与一般的分页不一样了,既要保证文章不重复,也要保证分页正确。请看下面代码:

function MBThemes_offset_firstpage( $query ) {
 if ( $query->is_main_query() && !is_admin() && $query->get('post_type') != 'project') {
 $offset = 10;
 $query->set( 'post_type', 'post' );
 $query->set( 'post_status', 'publish' );
 $query->set( 'ignore_sticky_posts', '-1' );
 $ppp = get_option('posts_per_page');
 
 if (!$query->is_paged()) {
 $query->set('posts_per_page',$offset + $ppp);
 } else {
 $offset = $offset + ( ($query->query_vars['paged']-1) * $ppp );
 $query->set('posts_per_page',$ppp);
 $query->set('offset',$offset);
 }
 }
}
add_action('pre_get_posts','MBThemes_offset_firstpage');

function MBThemes_offset_firstpage_pagination( $found_posts, $query ) {
 $offset = 10;

if( $query->is_main_query() && !is_admin() && $query->get('post_type') != 'project') {
 $found_posts = $found_posts - $offset;
 }
 return $found_posts;
}
add_filter( 'found_posts', 'MBThemes_offset_firstpage_pagination', 10, 2 );

相关文章

写给所有做网站的朋友的一封信

写给所有做网站的朋友的一封信

现在就开始执行“1+N”营销推广和没有开始执行的人,一两天看不出任何区别; 一两个月看来差异也是微乎其微的;但在2-5年的长远时间来看的时候,你的高质 量询盘不断增加,你的互联网资产已经建立完成,对手已经很难匹敌,现在你看到这段文字的时候就是最好的开始,现在就是最好的时候,马上开始“1+N”体系的整体营销推广吧,我们和你一起,开创互联网营销大未来!

点击查看详情

准备开启WordPress网站建设推广?

我们相信高端漂亮的网站不应该是昂贵的,这就是wordpress对每个人都是免费的原因
wordpress建站免费入门,并提供价格合理的wordpress建站套餐。