我正在尝试仅显示标记为in-stock
的帖子,并按其inventory_number
排序(这是一个数字值,因此我使用meta_value_num
)。以下代码是选择in-stock
项,但不是按inventory_number
对帖子进行排序。我做错了什么?
$args = array(
'numberposts' => -1,
'post_status'=>"publish",
'post_type'=>"post",
'category_name'=>"tape",
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'inventory_number',
'orderby' => 'meta_value_num',
'order' => 'asc'
),
array(
'key' => 'status',
'value' => 'in-stock',
'compare' => 'LIKE'
)
)
);
答案 0 :(得分:1)
对于自定义字段的排序依据,查询中必须包含meta_key=keyname
。另外,我认为您不希望AND
子句中的订单。所以试试这个......
$args = array(
'numberposts' => -1,
'post_status' => 'publish',
'post_type' => 'post',
'category_name' => 'tape',
'meta_query' => array(
array(
'key' => 'status',
'value' => 'in-stock',
'compare' => 'LIKE'
)
),
'meta_key' => 'inventory_number',
'orderby' => 'meta_value_num',
'order' => 'ASC'
);