Мы можем использовать get_users () , чтобы получить список авторов, пользователей с определенной ролью, пользователя с определенной мета и т. Д. Функция возвращает пользователей, которых можно упорядочить по ID, логину, нику, электронная почта, URL, зарегистрированный, display_name, post_count или meta_value.Но здесь нет случайной опции, такой как то, что функция get_posts () предоставляет для случайного отображения сообщений.
Поскольку функция get_users () использует класс WP_User_Query, есть хук действия pre_user_query, который мы можем использоватьизменить переменную класса.Идея состоит в том, чтобы использовать наш собственный «рандовый» порядок по параметрам.Если мы поместим «rand» в параметр orderby, вместо него будет использоваться «user_login».В этом случае нам нужно заменить его на RAND () , чтобы случайным образом приводить пользователей.В этом примере ниже мы «рандируем», и вы можете использовать свой собственный порядок по имени.
add_action( 'pre_user_query', 'my_random_user_query' );
function my_random_user_query( $class ) {
if( 'rand' == $class->query_vars['orderby'] )
$class->query_orderby = str_replace( 'user_login', 'RAND()', $class->query_orderby );
return $class;
}
WP_User_Query содержит порядок по запросу и аргументы our.Теперь у нас есть новый порядок по параметрам для WordPress.
$users = get_users( array(
'orderby' => 'rand',
'number' => 5
));
print_r( $users );
Ссылка: http://www.codecheese.com/2014/05/order-wordpress-users-random/