如何让WordPress随机显示本地头像

2019年6月24日08:09:19 评论 479 views 1882字阅读6分16秒

今天来说一个大家比较关注的一个话题,就是我们在使用知更鸟主题的时候,文章下的评论者头像一直以来都是知更鸟Begin主题自带的。俗话说的好,没有对比就没有伤害,在之前没有对这个头像进行美化之前,我一直觉得这个头像也挺好看的。然而当看到了许多SEO站长们的评论者头像美化之后,我才发觉到是如此的丑陋。

WordPress随机显示本地头像

Gravatar头像不但让人看起来是那么的平淡无奇,而且加载速度也是及其的缓慢,这个烦人的问题一直困扰着我们。启用头像本地缓存或者缓存到类似七牛云上可能是唯一可行的办法。还有一个让叶忠文郁闷的问题是,很多评论留言者并没有申请Gravatar头像,只能显示WordPress自带的古怪头像,看着着实让人心里很不爽。

正因如此本人也是下定决心一定要找到好的办法替换这该死的Gravatar头像,可谓皇天不负苦心人,终于在鸟哥教程里找到这么一个办法。话不多说,赶紧进入完美的教程时间吧,在此之前我们得先准备一些漂亮的图片来替代原有的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、4.jpg、5.jpg、6.jpg、7.jpg、8.jpg、8.jpg、9.jpg、10.jpg,另外和一张用于管理员的图片,名称我们可命名为admin.jpg!

添加以上代码之后,只有管理员是显示固定的图片,其他留言者都是随机显示预先准备的头像图片(包括注册用户)。可以安装本地上传头像插件:Simple Local Avatars,让注册用户在后台上传头像,从而显示自己固定的头像。

这时候可能有的朋友会问,已申请的Gravatar头像留言者是否能显示正常的Gravatar头像,理论上是可以通过判断实现的,不过这就需要到Gravatar头像站点去检测,如此一来便会严重拖慢速度,这样得不偿失。

另外还可以试试,用留言者名称第一个字母为头像的插件,比如说留言者名称“叶忠文”,那么头像就会显示一个大写的“Y”。

 

另附一段缓存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头像缓存到七牛,具体如何实现不是该本文的重点,欲知详情可自行网上搜索相关文章。

叶先生
  • 本文由 发表于 2019年6月24日08:09:19
如何快速切换WordPress里的背景图 WordPress

如何快速切换WordPress里的背景图

用过WordPress主题建站的人多半都切换过背景图,就拿本人来说,之前用鸟哥这款Begin主题的时候,就为了追求各种美化加过网站背景图与评论区背景图,还加过自定义鼠标样式,但后期还是因为想要简单简洁...
如何替换WordPress博客的自定义栏目值 WordPress

如何替换WordPress博客的自定义栏目值

我们都知道如果之前添加的自定义栏目值,例如说:附件或者图片链接的地址发生改变,修改起来都是比较麻烦的。好久没进鸟哥的官网看了,今天进去看到这么一个教程感觉挺实用的,里面有篇文章讲到附件或者图片链接的地...
WordPress网站如何更换域名的详细教程讲解 WordPress

WordPress网站如何更换域名的详细教程讲解

WordPress网站如何更换域名?使用WordPress主题建站这么长时间以来,见过很多站长不停的更换网站域名,但不会更换里面的内容。其实这个方法不算新颖,因为在这个方法之前,鸟哥的Begin主题里...
修改数据库密码后导致网站无法打开该怎么解决? 网站建设

修改数据库密码后导致网站无法打开该怎么解决?

今天无缘无故不知道发什么癫,一时兴起,想统一下阿里后台的登录密码,接着把FTP密码也给重置了遍,后面想了下,要不就把数据库密码也统一下吧。统一好了后方才发现网站打不开了,顿时有点百思不得其解,以前用织...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: