修改Wordpress文章默认排序

Yxhds YW| 2013-03-27 WordPress, 教程 评论数( 0 )

是不是觉得WordPress默认按时间排序文章的方式很不方便。虽然有些主题提供了置顶功能,但依然不能满足完全自定义文章排序的需求。本文将介绍,如何通过修改主题,来实现对文章的自定义排序。

不要看到修改源文件就退缩,其实整个过程很简单,添加几行代码就可以了。

首先打开你wordpress主题的index.php文件。找到类似下面的这段话:

while(have_posts()) {

这个就是用来显示你博客文章的循环语句。把它修改成下面的样子: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'orderby' => 基于排序的对象, 'paged' => $paged, 'order' => 'DESC' ); query_posts($args); while(have_posts()) { 其中,“基于排序的对象”可以是文章的任何属性,比方:"id", "title", "date"。

通过这种方法,你可以修改文章排序的依据。不过依旧不能完全自定义文章排序。要完全自定义文章排序,我们要用到wordpress的另一个功能:meta data。

编辑文章时,你可能在文章编辑Widget下面看到像下面这样Widget:

 meta

如果没有,点击你编辑界面右上角的“显示选项”,选中“自定义栏目”。

然后,为每一篇文章添加一个meta data,key可以自己定义,比方post_order,meta的值则是你文章排序的依据。

类似的,在index.php中替换如下代码,只是把orderby改成了你的meta_key,同时添加一项meta_key。如下: $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $args=array( 'meta_key' => 'post_order', 'orderby' => 'meta_value', 'paged' => $paged, 'order' => 'DESC' ); query_posts($args); while (have_posts()) { 这样,你就可以依据自己定义的meta_data对文章进行排序了。

最后要说的是,这样方法不仅试用于首页,也适用于标签页、分类页等存档页面。修改的放法一样。读者可以自己尝试一下。

聚焦云计算,扫描二维码,关注HostUCan云计算

有好的文章希望站长之间帮助分享推广,猛戳这里我要投稿

您需要登录后才可以评论登录|注冊

暂无评论