WordPress 网站怎么随机显示本地头像方法?

2023年2月16日08:02:53 发表评论
腾讯云正在大促:点击直达 阿里云超级红包:点击领取
免费/便宜/高性价比服务器汇总入口(已更新):点击这里了解

WordPress 网站怎么随机显示本地头像方法?

WordPress 网站怎么随机显示本地头像方法?Gravatar头像加载缓慢的问题,一直困扰着我们,启用头像本地缓存或者缓存到类似七牛云上可能是唯一可行的办法。还有一个让人郁闷的是,很多评论留言者并没有申请Gravatar头像,只能显示WordPress自带的古怪头像,看着很不爽。下面介绍一段随机显示本地评论头像的代码,预先准备一些漂亮的图片代替WordPress自带的头像。

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

  1. add_filter( 'get_avatar' , 'local_random_avatar' , 1 , 5 );function local_random_avatar( $avatar$id_or_email$size$default$alt) {    if ( ! emptyempty$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);数字为随机图片张数可以自行修改。

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

3、添加上述代码后,只有管理员是显示固定的图片,其他留言者都是随机显示预先准备的头像图片,包括注册用户。

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

5、可能有童鞋会问,已申请Gravatar头像的留言者,是否能显示正常的Gravatar头像,理论上是可以通过判断实现的,不过这就需要到Gravatar头像站点去检测,会严重拖慢速度,得不偿失。

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

7、另附,一段缓存Gravatar头像到七牛云存储的代码

  1. 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 );  

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

1、阿里云产品最新优惠领取地址:立即前往

2、阿里云服务器优惠券领取地址优惠购买地址:点击前往

3、阿里云最新优惠活动地址汇总,共16个,地址:点击前往

4、同配置云产品腾讯云相对便宜,先点此一键领取2860元无门槛满减券(老用户换QQ登陆,同一实名享新人特价),再点此进入腾讯云活动页面12年老码农建议:服务器升级、复购、续费贵,数据迁移也麻烦,建议用好新人优惠资格,买多年,配置一次性到位,后期省事又省钱。

发表评论

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