怎么配置orderby参数实现WordPress文章自定义排序?

WordPress国产主题推荐

WordPress默认输出的文章都是按发布时间降序来排序,即是最新发布的文章在最上面。其实,我们可以通过配置orderby参数来实现WordPress文章自定义排序,下面boke112百科就跟大家详细介绍几种使用方法。

怎么配置orderby参数实现WordPress文章自定义排序?-第1张-boke112百科(boke112.com)

1、常规用法的排序

如果我们平时不设置orderby参数的话,默认就是:

'orderby' => 'date'

其实,orderby参数除了date还有很多,比如:

  • ID:按文章/内容的ID排序
  • author:按作者ID排序
  • title:按标题排序
  • name:按文章别名(slug)排序
  • type:按内容类型排序(如文章、页面、自定义文章类型)
  • modified:按最后修改日期排序
  • parent:按父级ID排序(适用于有层级关系的内容,如页面)
  • comment_count:按评论数量排序
  • menu_order:按菜单顺序排序(主要用于页面)
  • rand:随机排序
  • meta_value/meta_value_num:按自定义字段值排序(meta_value_num用于数值比较)
  • post__in:按post__in参数中指定的ID顺序排序
  • post_name__in:按post_name__in参数中指定的别名顺序排序
  • post_parent__in:按post_parent__in参数中指定的父级ID顺序排序

使用示例(在WP_Query中):

// 按标题升序排序
$args = array(
'post_type' => 'post',
'orderby' => 'title',
'order' => 'ASC'
);

$query = new WP_Query($args);

其中“order”的参数有两个,分别是升序ASC和降序DESC。

2、使用单一自定义字段的排序

比如我们平时都是用自定义字段views来存储文章阅读量,如果你想要按阅读量输出文章,那么只需要:

// 按阅读量降序排序
$args = array(
'post_type' => 'post',
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'order' => 'DESC'
);

$query = new WP_Query($args);

同样道理,如果你想要输出按点赞量排序的文章,只需要将上述代码中的“views”修改为你网站中保存点赞量的自定义字段名称即可。

3、使用多个自定义字段的排序

如果你的文章对应有多个自定义字段,比如有pingjunfen和zongfen,想要按pingjunfen降序排序,若pingjunfen值相同就按zongfen降序排序,那么只需要:

$args = array(
'post_type' => 'post',
'meta_query' => array(
'relation' => 'AND',
'pingjunzhi_clause' => array(
'key' => 'pingjunzhi',
'type' => 'NUMERIC',
'compare' => 'EXISTS',
),
'zongfen_clause' => array(
'key' => 'zongfen',
'type' => 'NUMERIC',
'compare' => 'EXISTS',
),
),
'orderby' => array(
'pingjunzhi_clause' => 'DESC',
'zongfen_clause' => 'DESC',
),
);

如果需要按更多个自定义字段排序的话,只需要根据上述代码中添加第三个、第四个、…、第N个自定义字段代码即可。

5/5 - (2 votes)
文章创作不易,期待您的评分

本文地址:https://boke112.com/article/p5195.html

版权声明:本文内容来源于互联网资源,由 boke112百科 整理汇总!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请联系我们,确认后马上更正或删除,谢谢!
wu