首页 > 新闻资讯 > 用get_posts函数设置分页

用get_posts函数设置分页

6条评论
标签:
更多

想不想让自己首页(或分类页面)上的日志显示方式与众不同? 比如说,在不同的页面上显示不同数量的日志。但如果在管理界面进行设置,设置分页功能时会出现问题, 因为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

* 版权声明:作者WordPress啦! 转载请注明出处。

#1
你好。能请教个问题吗? 你这站里面好像没介绍呢。 就是单独定义一个页面,那个页面显示某一个分类下面的所有文章。然后每页显示10篇文章。 我定义了模板,news,调用了他下面的所有文章。但是分页的时候。我用的 <?php if(function_exists('wp_pagenavi')) wp_pagenavi(); else { ?> <?php next_posts_link( __('« Older Entries', 'arras') ) ?> <?php previous_posts_link( __('Newer Entries »', 'arras') ) ?> <?php } ?> 结果有分页,也会按照那个分页。但是分页链接没效果呢。不知道改哪里,还是pagenavi不支持页面里面的内容分页呢。呵呵 打扰了。
#2
page里面不能用导航的,只有index和各类archive页面可以加分页导航。 如果想在page里进行分页,你需要装其他的插件。
#3
谢谢啦。呵呵
#4
我面首页里面显示两个栏,一个是显是新闻的,一个是示视图片的。可我点击新闻分类栏分页按钮的时候,图片分类栏也分页了。
#5
请问贵站的分页导航代码是什么。。。能不能分享下
#6
请问有没有办法动态加载下一页的文章呢?而且要对新加载的文章进行排列,求指导!谢谢!