我正在使用WP_User_Query
返回用户列表。我正在传递一个要包含在结果中的特定用户列表。例如:
$user_ids = array( 1, 5, 9, 61, 24, 12 );
$args = array(
\'include\' => $user_ids,
\'count_total\' => true,
\'search\' => sanitize_text_field( $_GET[\'phrase\'] )
);
$query = new WP_User_Query( $args );
结果当前由排序
user_login
. 如何修改查询,使返回的结果按
$user_id
大堆例如,如果要返回3个用户(比如ID 5、61和12),则应首先显示用户5,其次显示用户61,第三显示用户12。
参考号:http://codex.wordpress.org/Class_Reference/WP_User_Query
最合适的回答,由SO网友:gmazzap 整理而成
我认为,与其处理复杂的SQL查询和让WordPress使用它们的方法,不如使用一个简单的uasort
可以做到:
$uids = array( 1 );
$user_query = new WP_User_Query( array( \'include\' => $uids ) );
$users = (array) $user_query->results;
usort( $users, function( $a, $b ) use( $uids ) {
return array_search( $a->ID, $uids) < array_search( $b->ID, $uids ) ? -1 : 1;
} );
// use as usual
foreach ( $users as $user ) {
echo \'<p>\' . $user->display_name . \'</p>\';
}