腾讯云服务器优惠活动华纳云香港服务器

如何让WordPress首页显示文章数量和分类页面不一样

WordPress主题推荐

关于WordPress首页显示文章数量的设置想必大家都比较清楚,就是在博客后台设置-阅读-博客页面至多显示这里。你设置几篇,首页列表就会出现几篇,而同时文章分类列表页、搜索列表页、作者列表页显示的文章数量也会随之改变。

如何让WordPress首页显示文章数量和分类页面不一样-第1张-boke112百科(boke112.com)

对于博客布局的WordPress主题来说,这样设置简单方便,但是如果你不想让首页和其他页面显示的文章数量不一样该怎么办呢?比如你的博客主题是博客+CMS结合的布局形式,那么首页列表显示的文章数量应该不超过5篇,而文章分类等页面显示的文章数量5篇是远远不够的。

解决方法

把如下代码:

  1. <?php $posts = query_posts($query_string . ‘&orderby=date&showposts=15′); ?>

添加至category.php、search.php、archive.php或其它页面模板中,以下函数之前:

  1. <?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个函数的作用分别如下:

1have_posts()解析:在WordPress中 默认的是一个全局函数。被调用时,实际上是调用全局变量$wp_query->have_posts()成员函数,来简单检查一个全局数组(array)变量$posts的一个循环计数器,以确认是否还有post,如果有返回true(1),如果没有返回false(0)。

2the_post()解析:该函数则是调用$wp_query->the_post()成员函数前移循环计数器,同时创建一个全局变量$post,把当前的post的所有信息都填进这个$post变量中,建立临时数据调用。

其实现在有不少精品的CMS主题已经在后台整合了首页或者其他页面显示文章的数量的设定,但对于WordPress新手来说,这个问题还是比较棘手的,如果你有此类需求,不妨试下。

赞 (0) 打赏
版权声明:本文为投稿文章,感谢 雅兮网 的投稿,版权归原作者所有!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu