评论随机显示本地头像

依旧转自知更鸟大神的文章。
告别卡死人还不显示的Gravatar头像。还有一个让人郁闷的是,很多评论留言者并没有申请Gravatar头像,只能显示WordPress自带的古怪头像,看着很不爽。下面分享一段随机显示本地评论头像的代码,预先准备一些漂亮的图片代替WordPress自带的头像。

//WordPress随机显示本地头像  双双对对爸爸剽窃
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, 22);
        $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, 22);数字为随机图片张数,可以自行修改。
在当前主题目录中新建一个名称为avatar的文件夹,里面放若干张名称连续的jpg图片,比如1.jpg、2.jpg、3.jpg.........,和一张用于管理员的图片,名称为admin.jpg。或者直接下载下面的文件,解压缩上传到主题目录下。
明星头像下载地址
上头明星头像共二十二个,晚上更新三十六个来自欧美电影电视里的英雄头像。管理员头像为动态对对头像,先制作gif文件,然后改后缀名为jpg即可。各取所需吧。
英雄头像下载地址
添加上述代码后,只有管理员是显示固定的图片,其他留言者都是随机显示预先准备的头像图片,包括注册用户。
可能有童鞋会问,已申请Gravatar头像的留言者,是否能显示正常的Gravatar头像,理论上是可以通过判断实现的,不过这就需要到Gravatar头像站点去检测,会严重拖慢速度,得不偿失。
还可以试试,用留言者名称第一个字母为头像的插件:WP First Letter Avatar

一衰人走在毁人不倦的不归路途。父不父,夫不夫,子不子,师不师,我之谓也。

12 条评论

传说看完文章评个论是高尚品德

随机一篇看看手气咯
狠狠的抽打博主 支付宝微信打赏