关于WordPress首页显示文章数量的设置想必大家都比较清楚,就是在博客后台设置-阅读-博客页面治多显示这里。你设置几篇,首页列表就会出现几篇,而同时文章分类列表页、搜索列表页、作者列表页显示的文章数量也会随之改变。
关于WordPress首页显示文章数量的设置想必大家都比较清楚,就是在博客后台设置-阅读-博客页面至多显示这里。你设置几篇,首页列表就会出现几篇,而同时文章分类列表页、搜索列表页、作者列表页显示的文章数量也会随之改变。
WordPress后台设置显示文章数量
对于博客布局的WordPress主题来说,这样设置简单方便,但是如果你不想让首页和其他页面显示的文章数量不一样该怎么办呢?比如你的博客主题是博客+CMS结合的布局形式,那么首页列表显示的文章数量应该不超过5篇,而文章分类等页面显示的文章数量5篇是远远不够的。
解决方法
把如下代码:
- <?php $posts = query_posts($query_string . '&orderby=date&showposts=15'); ?>
添加至category.php、search.php、archive.php或其它页面模板中,以下函数之前:
- <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
(其中,orderby=date ,是以时间顺序输出排序;showposts=15,15即为添加到该页面输出的文章数量,根据实际情况进行修改)
目前版本的WordPress主题下,常见需要修改的文件有author.php(作者列表页), archive.php(归档列表页), category.php(分类列表页),search.php(搜索列表页)等页面,一般此类文件就存放在主题目录。
这样一来,我们就可以很轻松的定制首页以及各页面显示的文章数量了,首页使用后台设置的,其他页面各自设置。
函数拓展
对于比较简单一点的WordPress主题,无论是模板首页、分类页面、标签页面、存档页面还是搜索结果页面,这些页面上显示的文章数都是一样的。因为每个页面上都调用的have_posts()和the_post()这2个函数。而这2个函数的作用分别如下:
1、have_posts()解析:在WordPress中 默认的是一个全局函数。被调用时,实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。
2、the_post()解析:该函数则是调用$wp_query->the_post()成员函数前移循环计数器,同时创建一个全局变量$post,把当前的post的所有信息都填进这个$post变量中,建立临时数据调用。
其实现在有不少精品的CMS主题已经在后台整合了首页或者其他页面显示文章的数量的设定,但对于WordPress新手来说,这个问题还是比较棘手的,如果你有此类需求,不妨试下。
近期来访雅兮网的站长朋友们可能发现,雅兮网首页改版了,从之前单纯的博客布局到现在的博客+CMS结合形式。笔者只是希望网站首页显得饱满一点,今后可能会参考其他有效的CMS主题增加其他模块,如果您对雅兮网有什么建议,欢迎留言交流哦
这个方法真的太好了,找了一晚上的分页函数想搞定不同类型页面的分页都没搞定,这个三秒钟解决,哭了
测试了下,苹果手机端死屏!!!安卓没测试,博主有木有解决方案 !
@wpahz: 手机端死屏是什么意思呢
这个解决方案好,最开始我采用了搜到的另一种在functions.php里设置首页、分类页、标签页不同页面显示不同文章数量的设置方法,结果发现在分类页面文章数量按照我需求确实增大了,可右边栏的小工具中最新文章和最新评论的显示数量也同时增多了。。而这是我不能接受的。。
用本站这个方法没有这个小瑕疵,目前正在使用中,没有发现什么问题,谢谢!!
完美解决!
博客+CMS这样的布局好啊,可惜我的博客没有这个功能,深表遗憾 !
这个还是比较实用的