最新消息: 新版网站上线了!!!

修改WordPress文章默认排序

是不是觉得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 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对文章进行排序了。

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

转载请注明:谷谷点程序 » 修改WordPress文章默认排序