鹿泽鹿泽  2024-07-04 11:19:46 鹿泽笔记 隐藏边栏  0 

WordPress是一个非常强大的程序,通过各种自定义配置,可以实现各种需求。我们通过配置WP_Query来实现文章的的自定义排序。

排序和排序类型相关参数

有关文章排序方法和类型的查询,有两个参数可以使用:
order(字符串 | 数组):排序方法,ASC 为正序(从小到大);DESC 为倒序(从大到小)
orderby(字符串 | 数组):根据什么字段排序,默认是 post_date(文章日期)

//按标题倒序
//根据文章标题进行倒序排列:
$query = new WP_Query( array ( 'orderby' => 'title', 'order' => 'DESC' ) );
//先根据 menu_order 排序,如果出现无法排序的情况(比如相同或者为空)则再利用 title 排序。
$query = new WP_Query( array ( 'orderby' => 'menu_order title', 'order' => 'DESC' ) );
//随机排序
//获取一篇随机文章:
$query = new WP_Query( array ( 'orderby' => 'rand', 'posts_per_page' => '1' ) );
//热门文章
//获取根据评论数量排序的文章:
$query = new WP_Query( array( 'orderby' => 'comment_count' ) );
//多条件不同排序
//给多个排序条件,每个排序条件有不同的排序方法:
$query = new WP_Query( array( 'orderby' => array( 'title' => 'DESC', 'menu_order' => 'ASC' ) ) );

自定义字段
获取文章自定义字段 age 是 3 或 4 的文章,并且按照 age 字段值的数字大小排序:

$args = array(
    'meta_key'   => 'age',
    'orderby'    => 'meta_value_num',
    'order'      => 'ASC',
    'meta_query' => array(
        array(
            'key'     => 'age',
            'value'   => array( 3, 4 ),
            'compare' => 'IN',
        ),
    ),
);
$query = new WP_Query( $args );
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505