自定义元查询未按元键正确排序帖子。如果我有订阅类型,那么这些帖子应该首先出现,然后那些元键的帖子不存在。
我正在尝试下面的代码,但它无法正常工作。
function apply_projects_query_filter ($query)
{
if ($query->query_vars['post_type'] == 'post' && $query->is_main_query()) {
$meta_query = array(
'relation' => 'OR',
array(
'key'=>'subscription_type',
'value'=>'subscription_type_yearly',
'compare'=>'==',
),
array(
'key'=>'subscription_type',
'value'=>'subscription_type_monthly',
'compare'=>'==',
),
array(
'key'=>'subscription_type',
'compare'=>'NOT EXISTS',
)
);
$query->set('meta_query', $meta_query);
//$query->set('meta_key', 'subscription_type');
//if($query->query_vars['meta_key'] == 'subscription_type')
//{
$query->set('orderby', array('meta_value' => 'DESC', 'date' => 'DESC'));
//}else{
//$query->set('orderby', 'date');
// }
//if($query)
//$query->set('orderby', 'meta_value title');
//$query->set('order', 'DESC');
return $query;
}
return $query;
}