WordPress 技巧:WP_Query 如何同时使用 meta_key 和 ID 或 date 进行排序

2023-04-15 09:55:04 浏览数 (1)

我们使用 WP_Query 进行文章检索的时候,可以用使用 orderby 参数对检索到的文章进行排序,比如使用 ID 排序

代码语言:javascript复制
$args = array(
	'orderby' => 'ID',
	'order'   => 'DESC',
);
$query = new WP_Query( $args );

如果我们文章是一个商品,他有价格(price)的参数,我们希望通过价格进行排序:

代码语言:javascript复制
$args = array(
	'orderby' => 'meta_value_num',
	'order'   => 'ASC',
	'meta_key'=> 'price'
);
$query = new WP_Query( $args );

如果好几个商品的价格一样,这样列表刷新,经常会变动,我们让价格一样的商品再按照 ID 进行排序:

代码语言:javascript复制
$args = array(
	'orderby' => 'meta_value_num ID',
	'order'   => 'ASC',
	'meta_key'=> 'price'
);
$query = new WP_Query( $args );

也可以写成:

代码语言:javascript复制
$args = array(
	'orderby' => ['meta_value_num'=>'ASC', 'date'=>'DESC'],
	'meta_key'=> 'price'
);
$query = new WP_Query( $args );

这样价格从小到大排序,价格一样,则最新发布的排在前面。


0 人点赞