php 手动修改文章排序,修改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:

757a385eb8ee1464c4bf909ec7a35759.png

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

然后,为每一篇文章添加一个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对文章进行排序了。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值