我正在尝试让用户列表按元键排序。我的意思是我已经设置了元键user_last_login. 某些用户没有此元密钥。一些用户拥有它。
我想在一个查询中同时获得两个用户,但如果存在元键,则这些用户将排在第一位,其余用户应排在最后。
这是我的问题
$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 );
请帮忙。
SO网友:Sneha Agarwal
您可以为每个数组编制索引,然后根据需要使用ASC、DESC按1或两者排序
$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 );