如何按多个元键和字段/自定义字段排序查询?
这是我的代码:
$args = array
(
\'post_type\' => \'listing\',
\'posts_per_page\' => -1,
\'tax_query\' => array
(
array
(
\'taxonomy\' => \'listing_category\',
\'field\' => \'slug\',
\'terms\' => urldecode($category)
),
array
(
\'taxonomy\' => \'location\',
\'field\' => \'slug\',
\'terms\' => urldecode($location)
)
),
//*** THIS NOT WORK
\'meta_query\' => array
(
array(
\'key\' => \'listing_status\',
\'orderby\' => \'meta_value\',
\'order\' => ASC,
),
array(
\'key\' => \'listing_total_rank\',
\'orderby\' => \'meta_value\',
\'order\' => DESC,
),
array(
\'key\' => \'listing_free_date\',
\'orderby\' => \'meta_value\',
\'order\' => ASC,
),
array(
\'key\' => \'title\',
\'orderby\' => \'meta_value\',
\'order\' => ASC,
),
),
//***
);
$listings = new WP_Query( $args );
的一部分
\'meta_query\'
不在代码中工作。
最合适的回答,由SO网友:Johansson 整理而成
您使用的是元查询,没有设置值。你这样做的方式是用来查询帖子,而不是排序。
使用命名元查询按不同的元数据对帖子进行排序,您可以为元查询指定一个名称,然后使用该名称设置排序。下面是一个简单的示例:
$args = array(
\'meta_query\' => array(
\'relation\' => \'AND\',
\'query_one\' => array(
\'key\' => \'key_one\',
\'value\' => \'value_one\', // Optional
),
\'query_two\' => array(
\'key\' => \'key_two\',
\'compare\' => \'EXISTS\', // Optional
),
),
\'orderby\' => array(
\'query_one\' => \'ASC\',
\'query_two\' => \'DESC\',
),
);
您可以检查
this 食品法典第页第节
WP_Query()
熟悉帖子的排序。