Gravatar头像缓存出错

作者: wonse 分类: 鑫事小记 发布时间: 2012-11-29 12:54

网站访问速度总体已经很快了,但每次打开首页,Gravatar头像加载缓慢总是令人心烦。发现好多博客都开启了头像缓存,很是羡慕,于是我也要试试。

百度了下“wordpress头像缓存”,不外乎有两种方法:添加代码,使用插件。

能用代码解决的问题肯定不会用插件,于是在functions.php内加入缓存代码。

第一次打开首页是非常慢的,估计实在下载图片到本地服务器吧,大概10来秒后,页面才打开。查看“最给力读者”头像地址,显示本地,OK;再查看“最新评论”头像,依然是Gravatar头像源地址,没有缓存成功,查看相关源代码,发现此处并没有调用get_avatar函数;打开“读者墙”,缓存成功,但出现五六行错误代码,原因不明……

不会修改代码,只好使用插件了,选中gravatar mini cache。安装完成后发现“最给力读者”和“留言板”上的读者墙没有问题,但“最新评论”头像依然无法缓存,原因同上。
***********************************************************************************************

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; //设定7天, 单位:秒
     if ( empty($default) ) $default = $w. '/avatar/default.jpg';
     if ( !is_file($e) || (time() - filemtime($e)) > $t ) //当头像不存在或者文件超过7天才更新
         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');
 ***********************************************************************************************

本想就这么用着吧,好歹快了不少,http://gtmetrix.com/评分也足足增加了11分。正高兴时,随手打开一片博文,Chrome显示连接已中断,换IE,文章依然无法打开。

首先想到的原因可能是修改主题时出问题了,立即更换其它主题,首页可以打开,所有文章都打不开,错误依旧。

难道安装插件时修改了数据库?还原最近的数据库,错误依旧……

这就郁闷了,不就改了几行代码,安装了个插件么,难道要我重装博客?!好吧,无奈之下,清空wwwroot目录,重新上传wordpress,好在国内主机速度快,3分钟后安装完毕,再次打开,问题依然没有解决!!

清除浏览器缓存,重启电脑,问题依旧……

实在没办法了,只能猜测可能是主机服务器问题!装完插件后打开首页和读者墙不是非常缓慢么,有可能这个过程造成了服务器负载加重。百度这种情况,还真有类似案例,甚至还被主机商警告过。

好吧,我错了,等上一段时间看看能不能恢复吧,折腾了好几个小时……

中午回来,博客已经正常了~~

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

16条评论
  • admin

    2012年11月29日 12:56

    折腾了一晚上~~

  • oyoy

    2012年11月29日 14:01

    那到底是什么原因呢

    1. admin

      2012年11月29日 18:33

      @oyoy 😮 要么我网络问题,要么服务器问题

  • 飘零

    2012年11月29日 15:07

    有时候出错,没管过

  • 好笑博客

    2012年11月29日 21:24

    呵呵 谢谢博主分享~~~~

    当然,好笑博客也期待博主的厚爱~~~~~互动是快乐的源泉

  • admin

    2012年11月30日 00:36

    测试下留言 😮

    1. admin

      2012年11月30日 00:39

      @admin 继续测试 😮

  • 明明博客

    2012年11月30日 01:05

    那么我就把你的评论连接改成不不带 blog了

  • 鬼娃娃

    2012年11月30日 09:10

    不太懂这些就不管了,错就错了

  • 那不是我

    2012年11月30日 10:22

    Gravatar没有去年那么频繁被强了。

    1. admin

      2012年11月30日 18:32

      @那不是我 但是加载的好慢啊 😥

  • 秦天添博客

    2012年11月30日 17:30

    我那主题的读者墙和留言头像,就经常显示不出来,或者加载很长时间才出来。

    1. admin

      2012年11月30日 18:33

      @秦天添博客 所以我才要缓存头像,可惜失败了 😮

  • Tokin

    2012年12月1日 09:39

    应该不是代码问题吧???我看看我的是怎么写的。。。

    1. admin

      2012年12月1日 10:06

      @Tokin 还没找到真正原因哈 😮

  • wonse

    2013年1月26日 00:16

    缓存成功~~

飘零进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注