远方的海
远方的海,WordPress,免费
2014 Aug 07 20 : 42

WordPress 非插件缓存Gravatar头像

您当前的位置: 首页 > WordPress > 正文
欢迎光临远方的海!您可能还对 WordPress建站免费资源最新IT动态 感兴趣,点击开启 悦读 模式。CTRL+D 快捷收藏本文,我们期待您再次光临!
[文章目录]

说明

大家都知道Wordpress的评论采用的是Gravatar,他的服务器是在国外的,有的时候经常抽风,加载的也是比较慢,如果把Gravatar头像缓存到国内打开文章的速度会变快很多!下面给出缓存Wordpress的Gravatar头像到本地服务器的方法:

新建一个文件夹用来缓存Gravatar

  • 先在网站的根目录(也就是有wp-admin,wp-include的那个目录)新建一个avatar 的文件夹,读写权限设置为755。
  • 再上传一个名为default.jpg的头像到这个avatar目录里面(这个默认头像可以自己找了,比如在wordpress后台的讨论设置里面就可以弄到几个不错的哦)

在functions.php中添加代码

打开主题的functions.php,加入以下代码,代码来自Willin Kan,虽然是几年前写的,但是刚才才试过,依然很好用!

//Code from http://seavia.com/
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 = get_bloginfo('wpurl');
$e = ABSPATH .'avatar/'. $f .'.jpg';
$t = 1209600; //过期时间,14天,单位是秒
if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或者超过14天才更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
return $avatar;
}
add_filter('get_avatar', 'my_avatar');

题外话:你也可以把这些头像缓存到七牛哦,点击查看设置方法,只需要在这篇文章的所示代码的第5行列出的文件夹里面加上avatar即可。机智吧!当然你也可以直接安装多说插件,不过多说的js文件略大的说。

好文!分享给朋友,或者点个赞吧~

文章信息

分类:WordPress

您可能也会喜欢

发表回复

Post Comment


  1. 小z :

    最近Gravatar被墙,国内主机用户缓存到本地的话反而会更加的缓慢,推荐国外主机的朋友使用此方法。或者缓存到七牛试试

    2014-11-18
    • Sven水神 :

      或者直接上多说好了!

      2014-11-18
      • 小z :

        哈哈,我之前就是使用的多说。发现少部分头像多说直接回源了,还是缓慢。

        2014-11-18
  2. arm linux :

    确定可以吗?

    2014-11-15
    • 远方的海水神 :

      本站用的就是这个。

      2014-11-15
  3. Finle :

    我今晚就在倒腾这个缓存···不好使,本身我的就是懒加载的,罢了罢了。。

    2014-10-20
    • 远方的海水神 :

      你可以直接用这段代码,我用到现在都很好使呢。

      2014-10-20
  4. 电脑爱好者 :

    支持这个 Gravatar抽风那会儿我把评论头像全都去掉了 太影响加载速度了
    保存了 以后用…

    2014-9-5
    • 远方的海水神 :

      GTW经常抽风。哎。

      2014-9-6
    • 远方的海水神 :

      谢谢亲(o^^o)这个我用了这么久也觉得不错。

      2014-9-14
  5. tianma630 :

    高手啊

    2014-8-8
    • 远方的海水神 :

      是的 Willin Kan是中国wp界公认的大师

      2014-8-8
      • Timle.CN :

        可惜的是他现在都退出wp界了。可惜呀

        2014-8-13