我有2个自定义元字段的用户。 Vip(0或1)和喜欢(数字) 我需要通过Vip和喜欢查询用户订购的用户,所以我首先需要的是vip用户,而不是喜欢用户的用户。 我有这样的代码
$meta_query = array(
'relation' => 'OR',
'vip_clause' => array(
'key'=> 'vip',
'compare' => 'EXISTS' ,
'type' => 'NUMERIC' ,
),
'like_clause' => array(
'key'=> 'al_likes',
'type' => 'NUMERIC',
'compare' => 'EXISTS' ,
),
array(
'key'=> 'vip',
'compare' => 'NOT EXISTS' ,
),
array(
'key'=> 'al_likes',
'compare' => 'NOT EXISTS' ,
),
);
$args = array(
'meta_query' => $meta_query,
'orderby' => array(
'like_clause' => 'DESC',
'vip_clause' => 'DESC'
)
);
$users = new WP_User_Query ( $args );
结果我得到了Vip(他们先订购)但不喜欢的用户列表。我该如何解决?谢谢
答案 0 :(得分:0)
" orderby" WP_User_Query的参数不支持数组值。我猜你从WP_QUERY中获取了样本,这是用于POST数据的。 尝试使用简单的逗号分隔字符串,而不是数组。 WP_USER_QUERY可以识别它。
$args = array(
'meta_query' => $meta_query,
'order' => 'DESC,DESC',
'orderby' => 'like_clause,vip_clause',
);