如何随机显示10位作者的头像?

时间:2015-05-31 23:44:48

标签: wordpress

我正在使用下面的代码,在我的wordpress网页上显示所有作者的博客头像。但是,我想显示10个随机化身,而不是所有的化身。有没有办法不使用一些插件?

$blogusers = get_users_of_blog();
if ($blogusers) {
    foreach ($blogusers as $bloguser) {
        $user = get_userdata($bloguser->user_id);
        echo get_avatar( $user->ID, 70 ); 
    }
}

1 个答案:

答案 0 :(得分:0)

get_users_of_blog已弃用。请改用get_users

https://codex.wordpress.org/Function_Reference/get_users

单独使用get_users,您无法获得随机用户,但您可以使用pre_user_query操作更新SQL中的ORDER BY子句:

// Update the query to order by random
function randomize_users(&$query) {
    $query->query_orderby = "ORDER BY RAND()";
}

// Attach the function to the pre_user_query hook
add_action( 'pre_user_query', 'randomize_users' );

// Get the users
$users = get_users(array(
    'blog_id' => get_current_blog_id(),
    'number' => 10
));

// Remove the action so future queries won't be affected
remove_action( 'pre_user_query', 'randomize_users' );

来源:https://core.trac.wordpress.org/ticket/20606