我们常见的WordPress站点文章排序,通常情况下是按发布时间的升序或降序方式排列,这种排序方式几乎可以满足大多数站点的需求了,但是有些另类的站点可能会有一些另类的需求:我想手动修改文章的排列方式,可以随意更改文章的排列位置。其实WordPress的query_posts就可以轻松解决这个问题,不过你得自己动手改一些代码。
修改方法:
1、打开WordPress当前主题目录,打开index.php,搜索代码:
while (have_posts())
将其替换成:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args=array(
'meta_key' => 'sort',
'orderby' => meta_value,
'paged' => $paged,
'order' => DESC
);
query_posts($args);
while (have_posts())
接着搜索:
endwhile;
将其改成:
endwhile;wp_reset_query();
2、给之前发表的所有文章添加自定义字段(或者称作自定义栏目,在文章编辑页底部可以看到),名称为 sort ,值填数字。这样在首页,文章的排列顺序就按照sort字段的值,从大到小排列了。通过修改sort字段的值,可以达到自定义文章排列顺序的目的。
3、需要注意的是,通过以上修改后,你必须给所有文章添加自定义字段sort,否则没有添加sort字段的文章将无法在首页显示。这也许就是手动排序需要付出的代价吧,要不然何谓手动?
4、如果你同时想手动修改标签页、分类页等存档页面的文章排列顺序,同样可以按照第一步介绍的方法来操作,修改主题目录下的archive.php等。