在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,内有更多作品回顾和展示。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。
您也可以扫描左边的二维码,关注我们的微信公众号,在微信上查看我们的案例。
赞