想不想让自己首页(或分类页面)上的日志显示方式与众不同? 比如说,在不同的页面上显示不同数量的日志。但如果在管理界面进行设置,设置分页功能时会出现问题, 因为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;
这未必是最聪明的方法,但它的确能解决问题。 如果你有更好的方法,可以在评论中和我们分享。
原文:Correct Pagination with get_posts
分类:新闻资讯