WordPress随机显示用户头像,本地调用支持动图

添加代码

将下面代码添加到当前主题functions.php中:

add_filter( 'get_avatar' , 'local_random_avatar' , 1 , 5 );
function local_random_avatar( $avatar, $id_or_email, $size, $default, $alt) {
    if ( ! empty( $id_or_email->user_id ) ) {
        $avatar = ''.get_template_directory_uri().'/avatar/admin.jpg';
    }else{
        $random = mt_rand(1, 10);
        $avatar = ''.get_template_directory_uri().'/avatar/'. $random .'.jpg';
    }
    $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
    return $avatar;
}

其中:mt_rand(1, 10);数字为随机图片张数可以自行修改。

准备头像图片
在当前主题目录中新建一个名称为avatar的文件夹,里面放10张名称连续的jpg图片,比如1.jpg、2.jpg、3.jpg………,和一张用于管理员的图片,名称为admin.jpg

如何使用动图

吧动图gif的格式直接改后缀jpg放入即可调用了。

第三方插件

大家也可以可以安装本地上传头像插件:Simple Local Avatars,让注册用户在后台上传头像,从而显示自己固定的头像。

还可以试试,用留言者名称第一个字母为头像的插件:WP First Letter Avatar

七牛云缓存代码

这里可能会有人用到七牛云,这里分享一段缓存Gravatar头像到七牛云存储的代码:

function qiniu_avatar($avatar) {
  $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*.srcset=.*/','<img src="http://你的缓存域名/avatar/$1-$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
  return $avatar;
}
add_filter( 'get_avatar', 'qiniu_avatar', 10, 3 );

如果你使用了七牛云存储,可以将上面的代码添加当前主题functions.php中,可将Gravatar头像缓存到七牛,具体如何实现,不是本文的重点,可自行网上搜索相关文章。

在为度盘下载慢苦恼?点击了解不限速下载
© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏
分享
评论 抢沙发

请登录后发表评论