我正在尝试对具有多个'orderby'变量的wp_query进行排序。
我的目标是在下面的显示中包含2个orderby变量-按组排序,然后按评分...
导师1(第1组)(5星)
导师2(第1组)(4星)
导师3(第2组)(5星)
导师4(第2组)(4星)
导师5(第2组)(3星)
我尝试了很多事情,包括meta_query数组,但是还没有成功。
代码如下:
if ($_GET['orderby'] == 'ownership') {
$query->set('post_type', 'tutor');
$query->set('meta_key', 'ownership');
$query->set('orderby', 'meta_value');
$query->set('order', 'ASC');
$query->set('meta_key', 'tutor_plugin_rating');
$query->set('orderby', 'meta_value');
$query->set('order', 'DESC');
简而言之,我还没有弄清楚如何在同一查询中按“所有权”然后按“ tutor_plugin_rating”进行排序。谁能指导我?
答案 0 :(得分:0)
想通了...
$meta_query = array(
array(
'ownership_clause' => array(
'key' => 'ownership',
'compare' => 'EXISTS'
)
),
array(
'rating_clause' => array(
'key' => 'tutor_plugin_rating',
'compare' => 'EXISTS'
)
)
);
$query->set('meta_query', $meta_query);
$query->set('orderby', array('ownership_clause' => 'ASC', 'rating_clause' => 'DESC'));