wordpress二次开发:用get_posts()函数设置分页

2015-01-18 22:28 阅读 651 次 评论关闭

想不想让自己首页(或分类页面)上的日志显示方式与众不同? 比如说,在不同的页面上显示不同数量的日志。但如果在管理界面进行设置,设置分页功能时会出现问题, 因为WordPress和一些分页插件使用的都是$wp_query->max_num_pages

max_num_pages表示每页能够显示的日志数量。 如果我们设置每页显示10篇日志,但首页上显示了14篇日志,这样我们就打乱了原先的分页设定。

我的解决方法是:

//detect the set number of posts per page
$ppp = get_option('posts_per_page');

// first page 14 posts
if (!is_paged()) {
$posts = get_posts('numberposts=14');
// second page with offset
} elseif($paged == 2) {
$posts = get_posts('offset=14');
// all other pages with settings from backend
} else {
$offset = $ppp*($paged-2)+14;
$posts = get_posts('offset='.$offset);
}

if($posts) :
foreach ($posts as $post) :
//your code
endforeach;
endif;

这未必是最聪明的方法,但它的确能解决问题。 如果你有更好的方法,可以在评论中和我们分享。

有关get_posts函数应用的文章:

wordpress二次开发:常用函数get_posts()

wordpress二次开发:常用函数get_post()

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:wordpress二次开发:用get_posts()函数设置分页 | 猎微网

评论已关闭!