Gravatar头像缓存出错

wordpress · 2012-11-29 · 63 人浏览

网站访问速度总体已经很快了,但每次打开首页,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分钟后安装完毕,再次打开,问题依然没有解决!!

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

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

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

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

wordpress 优化
  1. wonse (作者)  2013-01-25

    缓存成功~~

  2. Tokin 2012-12-01

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

    1. admin (作者)  2012-12-01
      @Tokin

      @Tokin 还没找到真正原因哈 :eek:

  3. 秦天添博客 2012-11-30

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

    1. admin (作者)  2012-11-30
      @秦天添博客

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

  4. 那不是我 2012-11-30

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

    1. admin (作者)  2012-11-30
      @那不是我

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

  5. 鬼娃娃 2012-11-30

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

  6. 明明博客 2012-11-29

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

  7. admin (作者)  2012-11-29

    测试下留言 :eek:

    1. admin (作者)  2012-11-29
      @admin

      @admin 继续测试 :eek:

  8. 好笑博客 2012-11-29

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

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

  9. 飘零 2012-11-29

    有时候出错,没管过

  10. oyoy 2012-11-29

    那到底是什么原因呢

    1. admin (作者)  2012-11-29
      @oyoy

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

  11. admin (作者)  2012-11-29

    折腾了一晚上~~

Theme Jasmine by Kent Liao