想不想让自己首页(或分类页面)上的日志显示方式与众不同? 比如说,在不同的页面上显示不同数量的日志。但如果在管理界面进行设置,设置分页功能时会出现问题, 因为WordPress和一些分页插件使用的都是$wp_query->max_num_pages。 max_num_pages表示每页能够显示的日志数量。 如果我们设置每页显示10篇日志,但首页上显示了14篇日志,这样我们就打乱了原先的分页设定。我的解决方法是:

想不想让自己主页(或分类页面)上的日志显现办法异乎寻常? 比如说,在不同的页面上显现不同数量的日志。但假如在办理界面进行设置,设置分页功用时会出现问题, 由于WordPress和一些分页插件运用的都是$wp_query->max_num_pages

用get_posts函数设置分页  get_posts 分页 插件与修改 新闻资讯 第1张

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

转载请说明出处
知优网 » 用get_posts函数设置分页

发表评论

您需要后才能发表评论