专注国内外云服务器
分享建站技术教程

WordPress 缓存Gravatar 头像到本地 来自大发

立即购买

阿里云服务器 ¥102元/年 云数据库37.5元/年 限时

个人、企业均可购买 | 更多配置0.8折特惠

吾上云WORDPRESS教程最新“WordPress 缓存Gravatar 头像到本地 来自大发”

WordPress 迷之前也介绍过几篇关于WordPress 头像被墙或者过慢的解决方法,这里分享大发的一篇文章:
在Gravatar没被墙之前,很多人都是把头像缓存到本地来加速,自从被墙后(貌似现在恢复了,但是速度非常慢),国内主机就告别这个方法了,都是使用替换服务器的方法,但是很多时候速度还不是很理想。还有就是新版的get_avatar函数已经支持srcset来适应高清屏,一些不好的代码在高清屏下可能出现问题。
另外就是旧版的缓存函数只能缓存一个尺寸的头像,如果网站调用了多个尺寸的头像可能调用大头像的时候会不清晰。于是我改进了代码,

  • 支持国内主机
  • 支持不同大小的头像

如果你的服务器还没有头像快,那还是算了。。
下面的代码加到functions.php中,部分参考了以前willin写的那个。

function fa_cache_avatar($avatar, $id_or_email, $size, $default, $alt){ $avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "cn.gravatar.com", $avatar); $tmp = strpos($avatar, 'http'); $url = get_avatar_url( $id_or_email, $size ) ; $url = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "cn.gravatar.com", $url); $avatar2x = get_avatar_url( $id_or_email, ( $size * 2 ) ) ; $avatar2x = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "cn.gravatar.com", $avatar2x); $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp); $tmp = strpos($g, 'avatar/') + 7; $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp); $w = home_url(); $e = ABSPATH .'avatar/'. $size . '*'. $f .'.jpg'; $e2x = ABSPATH .'avatar/'. ( $size * 2 ) . '*'. $f .'.jpg'; $t = 1209600; if ( (!is_file($e) || (time() - filemtime($e)) > $t) && (!is_file($e2x) || (time() - filemtime($e2x)) > $t ) ) { copy(htmlspecialchars_decode($g), $e); copy(htmlspecialchars_decode($avatar2x), $e2x); } else { $avatar = $w.'/avatar/'. $size . '*'.$f.'.jpg'; $avatar2x = $w.'/avatar/'. ( $size * 2) . '*'.$f.'.jpg'; if (filesize($e) "; } return $avatar;}add_filter('get_avatar', 'fa_cache_avatar',1,5);

在WP根目录下新建avatar文件夹并给予写权限。在avatar文件夹下上传一张default.jpg的图片作为默认头像。
另外在WP后台默认头像最好设置为空。

文章来源于互联网WORDPRESS教程:WordPress 缓存Gravatar 头像到本地 来自大发,
阿里云服务器89元起,点击购买
腾讯云服务器95元/年起 点击购买

相关推荐: 禁止WordPress黑名单中的垃圾评论提交到数据库

吾上云WORDPRESS教程最新“禁止WordPress黑名单中的垃圾评论提交到数据库”如果你是使用WordPress有段时间的同学,你就会发现,垃圾评论真的太可恶了,各种有,虽然我们设置了不审核不会显示,可是邮件神马的发的好烦,于是转了一个教程,介绍利用Wo…

赞(0)
未经允许不得转载:吾上云 » WordPress 缓存Gravatar 头像到本地 来自大发
分享到: 更多 (0)
  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

评论 抢沙发

评论前必须登录!

 

吾上云 专注服务器选购

购买云服务器联系我们