我有一个WP_User_Query,我的目标是获得一个排序列表。首先,它应该按字母顺序排序。然后,有一个旗子accepting_new_patients
,我想把它们移到顶部。所以,最后,我想要一份按字母顺序排列的接受病人的名单,剩下的也要按字母顺序排序。这就是我所拥有的(从文档和其他帖子来看,这似乎是正确的):
$args = [
'meta_query' => [
'relation' => 'AND',
'last_name_clause' => ['key' => 'last_name', 'compare' => 'EXISTS'],
'accepting_new_patients_clause' => ['key' => 'accepting_new_patients', 'compare' => 'EXISTS'],
['key' => 'name', 'value' => '', 'compare' => '!='],
['key' => 'headshot', 'value' => '', 'compare' => '!='],
['relation' => 'OR',
['key' => 'title', 'value' => '', 'compare' => '!='],
['key' => 'tel', 'value' => '', 'compare' => '!='],
['key' => 'email', 'value' => '', 'compare' => '!=']
],
['relation' => 'OR', ['key' => 'delist', 'compare' => 'NOT EXISTS'], ['key' => 'delist', 'value' => 0, 'compare' => '=']]
],
'orderby' => ['last_name_clause' => 'ASC', 'accepting_new_patients_clause' => 'DESC'],
];
$therapists = new WP_User_Query($args);
$results = $therapists -> get_results();
return $results;
使用这个代码,列表是按字母顺序返回的,但是接受新病人的人仍然只是按原来的字母顺序排列。我怎样才能让病人先接受病人,然后不接受病人呢?
发布于 2022-05-18 21:27:47
当然,第二次我发了个问题,我就想通了。如果有人遇到与我同样的问题,以下是答案:
$args = [
'meta_query' => [
'relation' => 'AND',
'last_name_clause' => ['key' => 'last_name', 'compare' => 'EXISTS'],
'accepting_new_patients_clause' => ['key' => 'accepting_new_patients', 'compare' => 'EXISTS'],
'board_member_clause' => ['key' => 'board_member', 'compare' => 'EXISTS'],
['key' => 'name', 'value' => '', 'compare' => '!='],
['key' => 'headshot', 'value' => '', 'compare' => '!='],
['relation' => 'OR',
['key' => 'title', 'value' => '', 'compare' => '!='],
['key' => 'tel', 'value' => '', 'compare' => '!='],
['key' => 'email', 'value' => '', 'compare' => '!=']
],
['relation' => 'OR', ['key' => 'delist', 'compare' => 'NOT EXISTS'], ['key' => 'delist', 'value' => 0, 'compare' => '=']]
],
'orderby' => ['accepting_new_patients_clause' => 'DESC', 'last_name_clause' => 'ASC'],
];
$therapists = new WP_User_Query($args);
return $therapists -> get_results();
https://stackoverflow.com/questions/72298882
复制相似问题