Gravatar 头像缓存的几种方法

43

Gravatar,全称是“Globally Recognized Avatar”,Wordpress等主流的博客系统,基本都是采用Gravatar头像。如需要自定义头像,请点击这里

最近周良穿梭与各个博客之间,发现很多博客的 Gravatar 评论头像无法显示,貌似是被墙了,不知道大家有没有遇到这种情况,周良这里已经惨不忍睹了....

所以,忍不住谢了这篇文章,提供几个缓存Gravatar头像的方法,这样不仅可以防止头像被墙,也可以提高自己网站的载入速度。

 

一、使用插件缓存Gravatar头像

whisperer:全面启用gravatar头像缓存——提供了wp-recentcomments头像启用缓存的方法。

插件1:Gravatar China(下面列举了此插件的一些功能,并附上后台设置截图)

  • Gravatar 头像防墙补丁:替换 Gravatar 头像能正常访问的地址;
  • Gravatar 本地缓存:对特殊的网络环境下给头像进行本地缓存;
  • 自定义设置缓存过期时间;

 

插件2:WP Gravatar Mini Cache

  • 迷你 Gravatar 头像缓存插件;
  • 可以将 Gravatar 头像缓存至本地,以加快加载速度,使其不受 Gravatar 服务器连接速度的影响;

这两个插件都是国内高手写的头像缓存插件,当然都是中文的。周良没有使用这2个插件,前者的后台设置比后者丰富,后者完全是傻瓜型,安装启用后即可看到效果!

 

插件3:Gravatar Local Cache

  • 纯英文操作
  • 一键完成头像缓存

周良使用的是gravatarlocalcache插件,后台很简单,无需改动什么,直接点击Update Options »即可

这个,应该比WP Gravatar Mini Cache简单多了,适合懒人或者Wordpress新手....

 

二、使用代码实现 Gravatar 头像缓存

这个方法是周良无意间在网上看到的,据说效果不错。如果您愿意花几分钟操作的话,那么就接着看下去吧。

  • 先在网站wp-content 的同级目录建立资料夹: /avatar 权限:755, 这是准备gravatar 缓存的路径.
  • 准备一张适合你模板尺寸的默认头像, 名为"default.jpg" 放在此路径.
  • 找到原来的comments.php 或是在functions.php 里的function mytheme_comment($comment, $args, $depth) 会有一段类似这样的语句:<?php echo get_avatar($comment,$size=’50′,$default=’<path_to_url>’ ); ?>
替换成:
<?php
$p = ‘avatar/’;
$f = md5(strtolower($comment->comment_author_email));
$a = $p . $f .’.jpg’;
$e = ABSPATH . $a;
if (!is_file($e)){ //当头像不存在就更新
$d = get_bloginfo(‘url’). ‘/avatar/default.jpg’;
$s = ’50′;
$r = get_option(‘avatar_rating’);
$g = ‘https://www.gravatar.com/avatar/’.$f.’.jpg?s=’.$s.’&d=’.$d.’&r=’.$r;
copy($g, $e);
if ( filesize($e) == 0 ){ copy($d, $e); }
};
?>
<img src=’<?php echo $a ?>’ alt=” />

ps对一些主题,这样做之后,可能会使头像没法显示。

这时只要简单的把$p = ‘avatar/’改成$p = ‘/avatar/’

上述修改代码的方法,仅仅对文章页面的评论有效!!

 

如果您使用了wp-recentcomments插件,或是WordPress thread comment,想知道他们如何缓存头像到本地。可以看看下面的两篇文章。

万戈:缓存 Gravatar 头像至本地服务器——提供了WordPress thread comment解决头像缓存的办法。

whisperer:全面启用gravatar头像缓存——提供了wp-recentcomments头像启用缓存的方法。

如果你有设计或者 WordPress 方面的项目需求,可以和我联系 Email:wwwzhouliang@gmail.com。

作者主页 邮箱 微博 腾讯微博 QQ Twitter Facebook Google+

共 43 条评论

  1. EinCy 回复

    我用的是插件,方便!

  2. Iecho 回复

    我的主题里面自带了图像缓存的插件了

    1. 周良 (文章作者) 回复

      那就说明你的主题很不错~

  3. yumanutong 回复

    学习了,有空的话交换链接,如果愿意联系我 😎

  4. yumanutong 回复

    刚说完,上传了后,网站打不开。立马改回来,还好我有注释

    1. 周良 (文章作者) 回复

      @yumanutong: 什么?

      1. yumanutong 回复

        @周良: 就是出问题了啊,还好我修改的地方我注释了在哪里,我重新改回来了,不然就出事了,呵呵

        1. 周良 (文章作者) 回复

          @yumanutong: 那你用插件吧

  5. Sprit 回复

    我的反正是有时显示,有时不显示。。。

    1. 周良 (文章作者) 回复

      额...缓存问题吧

  6. Sprit 回复

    我的反正是有时显示,有时不显示。。。

    1. 周良 (文章作者) 回复

      额...缓存问题吧

  7. Snail 回复

    我的头像为啥一直在右边改不到左边呢?

    1. 周良 (文章作者) 回复

      css问题吧

      1. Snail 回复

        嗯,找到了,是主题问题,谢啦

        1. 周良 (文章作者) 回复

          没事

  8. Snail 回复

    我的头像为啥一直在右边改不到左边呢?

    1. 周良 (文章作者) 回复

      css问题吧

      1. Snail 回复

        嗯,找到了,是主题问题,谢啦

        1. 周良 (文章作者) 回复

          没事

Leave a Reply

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 Required fields are marked *

返回顶部