Получить все wp_users сортировать по metakey

Я пытаюсь получить сортировку списка пользователей по metakey. Я имею в виду, что я установил мета-ключ user_last_login . некоторые пользователи не имеют этого мета-ключа. некоторые пользователи имеют его.

Я хочу, чтобы оба пользователя были в одном запросе, но если metakey существует, они на первом месте, а остальные должны быть последними.

Вот мой запрос

$meta_query_args = array( 'relation' => 'OR', // Optional, defaults to "AND" array( 'key' => 'user_last_login', 'compare' => 'Not Exists' ), array( 'key' => 'user_last_login', 'compare' => 'Exists' ) ); $meta_query = new WP_Meta_Query( $meta_query_args ); $args = array( 'offset' => $paged ? ($paged - 1) * $number : 0, 'number' => $number, 'fields' => 'all', 'orderby'=>'user_last_login', 'exclude' => array(get_current_user_id()), 'meta_query' =>$meta_query ); $users = get_users( $args ); 

Пожалуйста помоги.

Solutions Collecting From Web of "Получить все wp_users сортировать по metakey"

Вы можете индексировать каждый из массивов, а затем заказывать 1 или оба из них, используя ASC, DESC согласно вашему требованию

  $meta_query_args = array( 'relation' => 'OR', // Optional, defaults to "AND" 'no_login' =>array( 'key' => 'user_last_login', 'compare' => 'Not Exists' ), 'login' => array( 'key' => 'user_last_login', 'compare' => 'Exists' ) ); $meta_query = new WP_Meta_Query( $meta_query_args ); $args = array( 'offset' => $paged ? ($paged - 1) * $number : 0, 'number' => $number, 'fields' => 'all', 'orderby' => array( 'login' => 'ASC' ), 'exclude' => array(get_current_user_id()), 'meta_query' =>$meta_query ); $users = get_users( $args );