WordPress文章多重排序的实现方法

在WordPress网站开发过程中,有时候我们需要对文章/自定义文章类别(这里统称为文章)进行一些自定义排序,以下是我常用的自定义排序输出的方法:

1
2
3
4
5
6
7
8
9
10
$myposts = get_posts( array( 
	'numberposts' => 50, 
	'post_type' => 'hotels', //自定义的文章类型
	'orderby' => 'meta_value', //按照自定义字段排序
	'meta_key' => 'hotel_country',//排序的自定义字段名为hotel_country
	'order' => 'ASC'
) );
foreach( $myposts as $post ) {
...
}

第一个问题:如何进行多个字段的排序?

比如我想在给自定义字段hotel_country排序的同时,增加一个文章标题的排序。
这个简单,只要把orderby变量改成:

1
'orderby' => 'meta_value title',

这样文章标题就变成第二排序了。在orderby里用空格分隔多个排序字段即可。

第二个问题:如何使多个字段按不同的顺序排序?

这个是WordPress4.0开始新增的功能。比如我要让hotel_country进行正序排序,title进行逆序排序,代码如下:

1
2
3
4
5
6
7
8
9
$myposts = get_posts( array( 
	'numberposts'=>500, 
	'post_type' => 'hotels', 
	'orderby' => array( 'meta_value' => 'ASC', 'title' => 'DESC' ),
	'meta_key' => 'hotel_country'
) );
foreach( $myposts as $post ) {
...
}

只要给orderby按如上的结构赋值即可,真的很方便!
参考文章:https://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/

本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.brain1981.com/976.html。百度不可信,搜索请谨慎。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以获取本文的最新版本。

关注我们的微信公众号-JennyStudio 本站记录了近几年的工作中遇到的一些技术问题和解决过程,“作品集”还收录了本人的大部分作品展示。除了本博客外,我们的工作室网站 – JennyStudio,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。

1 关于 “WordPress文章多重排序的实现方法” 的评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注