有一种比@Warface的方法更简单、更快的方法。这是对@SyHolloway的扩展
这里的概念是包装get_users()
在一个新函数中,可以对结果进行排序get_users()
由include
参数使用usort
然后返回按排序的结果数组include
此功能不提供fields
当include
参数已设置。all
是唯一有效的值。您可以扩展该函数,使其与fields
参数何时include
正在使用中。否则,如果include
未设置,则fields
参数正常工作。
当然,orderby
和order
当include
已使用
此新功能的操作和使用方式与get_users()
, 除上述规定外
下面是函数
function get_users_by_include( $args = array() ) {
$blogusers = get_users( $args );
if( isset( $args[\'include\'] ) ){
$include = $args[\'include\'];
usort($blogusers, function ($a, $b) use( $include ){
$q = array_flip( $include );
return $q[$a->ID] - $q[$b->ID];
});
}
return $blogusers;
}
您现在可以在模板中使用它,如下所示
$users = get_users_by_include(array( \'include\' => array(2,5,1,10,45,32,66) ) );
foreach ( $users as $user ) {
echo $user->ID . \'</br>\';
}