WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › WordPress 解决 Gravatar 头像无法打开问题 缓存本地化

WordPress 解决 Gravatar 头像无法打开问题 缓存本地化

PCDotFan8年前

特殊时期竟连 Gravatar  也被屏蔽了……如果网站出现加载速度缓慢等问题,有80%的原因在于此。 总而言之,当 WordPress 在发现需要载入 Gravatar 头像时,使用以下代码会自动下载至本地服务器,下一次加载则直接从自己的网站上调用。由于网络的特殊性,Gravatar 打不开或者速度慢等情况是常有的事。所以开启此功能很有必要,仅适用于国外主机。在 functions.php 中添加:

function my_avatar($avatar) {
     $tmp = strpos($avatar, 'http');
     $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
     $tmp = strpos($g, 'avatar/') + 7;
     $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
     $w = home_url(); // $w = get_bloginfo('url');
     $e = preg_replace('/wordpress\//', '', ABSPATH) .'avatar/'. $f .'.jpg';
     $t = 604800;
     if ( empty($default) ) $default = $w. '/avatar/default.jpg';
     if ( !is_file($e) || (time() - filemtime($e)) > $t ) 
         copy(htmlspecialchars_decode($g), $e);
     else
         $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
     if (filesize($e) < 500) copy($default, $e);
     return $avatar;
 }
 add_filter('get_avatar', 'my_avatar');

其中,$t = 604800; 是缓存的时间,以秒为单位,默认为7天。同时需要在你的网站根目录下新建一个名为”avatar”的文件夹,权限设置为777,在此文件夹内放入 default.jpg 作为没有头像时默认的显示图片,尺寸为 50*50。

亦或是直接使用我提供的七牛镜像服务器:

function replace_avatar_url($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"ds-gravatar.qiniudn.com",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'replace_avatar_url', 10, 3 );

 

 

#WordPress加速
3
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (10)
再想想
  • 豆采博客,www.csh7.cn

    加完这个有什么实质性的作用吗?作用大不大?如果不用默认的评论框呢?

    9年前
    • WP酷

      @豆采博客,www.csh7.cn 不用默认的评论框没有效果……不过像多说什么的都有做Gravatar缓存

      9年前
    • 小z

      @WP酷 多说的缓存也是坑爹,他自家的多说头像部分都回源了。

      8年前
    • 滑羊凌兰

      @豆采博客,www.csh7.cn [路过] 网站不错很漂亮!

      7年前
    • 电子商务

      @豆采博客,www.csh7.cn [路过] 网站不错很漂亮!

      7年前
  • 博客集聚地

    缓存到本地的代码只有美国主机使用才有效果,国内主机使用了在抓取Gravatar 头像原图的时候就已经被屏蔽了,造成加载失败,并且更加拖慢了网站速度。至于多说的缓存。。。。用了之后你就会发现。。他有更新周期。。。更新时由于多说服务器也是国内的。。造成大量图片报502错误

    8年前
  • 风色番茄

    可以用https

    8年前
  • hh寒冰

    我按照你七牛镜像设置后所有头像都是一样的默认头像是什么原因

    7年前
  • 张熙珍

    谢谢博主,博主太好人了

    7年前
  • mobanhou.com

    好资料。。。正需要

    6年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
关闭 WordPress 4.4 新功能 – 禁用 REST API 及 Embeds
7年前
WordPress 零起点从菜鸟至建站高手视频教程【每周更新】
9年前
保护文章!为WP添加“禁止复制”和自动来源功能
10年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1