WordPress 技巧:WP_Query 如何同时使用 meta_key 和 ID 或 date 进行排序
我们使用 WP_Query
进行文章检索的时候,可以用使用 orderby
参数对检索到的文章进行排序,比如使用 ID 排序
$args = array(
'orderby' => 'ID',
'order' => 'DESC',
);
$query = new WP_Query( $args );
如果我们文章是一个商品,他有价格(price)的参数,我们希望通过价格进行排序:
$args = array(
'orderby' => 'meta_value_num',
'order' => 'ASC',
'meta_key'=> 'price'
);
$query = new WP_Query( $args );
如果好几个商品的价格一样,这样列表刷新,经常会变动,我们让价格一样的商品再按照 ID 进行排序:
$args = array(
'orderby' => 'meta_value_num ID',
'order' => 'ASC',
'meta_key'=> 'price'
);
$query = new WP_Query( $args );
也可以写成:
$args = array(
'orderby' => ['meta_value_num'=>'ASC', 'date'=>'DESC'],
'meta_key'=> 'price'
);
$query = new WP_Query( $args );
这样价格从小到大排序,价格一样,则最新发布的排在前面。