缓存 Gravatar 头像至本地服务器

  关于缓存 Gravatar 头像的方法我早就想拿出来说一说了,该方法来自 iShawn的博客。但是用了这个方法之后,我只能缓存一半的 Gravatar 头像,所有回复的评论者的头像都没有被缓存。这个问题一直困扰着我,让我抓狂了一个多月,终有一天,showfom 小盆友一语道破了天机,让我终于完整地实现了的 Gravatar 头像缓存,深表谢意。

  Gravatar 头像缓存的好处我就不多说了,直接切入正题,缓存 Gravatar 头像至本地服务器。

1、去作者主页下载该组件,解包,上传。路径随意,我放在 /gravatar 目录下。

2、gravatar 目录内应该有两个文件夹: cache 和 profile;三个文件: index.php, .htaccess, mysql.sql

3、赋予 cache 文件夹 755 权限: chmod a+w 。

4、本地新建一个 php 文件,写入以下内容,文件名 avatar.php,上传至 profile 文件夹内。请自行更改相应内容符合自己的需求。切记要放置默认头像。

<?php
$config['default'] = 'http://domain.com/default-gravatar.png';//无头像时返回的默认头像路径
$config['rating'] = 'PG';//gravatar的内容级别
$config['size'] = 64;//头像尺寸
?>

5、编辑 .htaccess 文件,默认 RewriteRule . index.php [L] ,请依照你的实际放置目录修改,比如我的是 RewriteRule . /gravatar/index.php [L]

6、打开 WordPress 模板的 comments.php 文件,查找

<?php echo get_avatar( $comment, 32 ); ?>

  替换为

<img src="http://yourdomain/gravatar/cache/avatar/<?php echo md5(strtolower($comment->comment_author_email)); ?>" alt="" />

  细心的同学应该会发现,路径中的 avatar 其实就是第四步创建的那个 php 文件的名字。你还可以创建不同的 Profile 应用在各个地方。

  到此,Wordpress 缓存 Gravatar 至本地的操作便完成了,首次缓存的头像日后会被直接调用而无需再跑到 gravatar 查询。快就快在这里,省略查询的时间,静态化 Gravatar。

  以上方法来自作者的原文:《如何缓存 Gravatar 至本地服务器》,不过很可惜,链接已经失效。不过没关系,如果觉得这还看不懂的话,showfom 小盆友写了篇更具体的:http://showfom.com/change-hosting-and-cache-gravatar/,很有参考价值。

  如果做完以上步骤后发现 Gravatar 只缓存了一部分,那就有必要继续往下看了,因为你犯了一个和我一样的错误,也不能说错误,只能说疏忽。还要感谢 showfom 的提点,否则我要一直为这另一半的 Gravatar 缓存抓狂下去了。究其原因,是因为我没有用 WordPress 原生的嵌套评论,而是用 WordPress thread comment 插件代替的,问题就出在这个插件上,另一部分的头像输出是 WordPress thread comment 插件完成的,所以要解决这个问题就要进入 WordPress thread comment 插件的后台设置,找到“编辑评论的HTML”选项,将其中调用头像部分的代码也替换成:

<img src="http://yourdomain/gravatar/cache/avatar/<?php echo md5(strtolower($comment->comment_author_email)); ?>" alt="" />

  这样一来,就完美地实现了缓存 Gravatar 头像至本地服务器这一功能。

本文已盖 71 层楼

  1. 回复 FISH 说:

    呵呵,
    如果加上定期自动清空缓存会更好些.
    毕竟有些人有时换了头像
    或者一些只来一次的人头像也缓存,加大了负担.

  2. 回复 飞晏 说:

    comments.php里面找不到这个
    有个gravatar的服务器被墙了 折腾死个人啊

  3. 万兄,请问下貌似win主机搞不定啊 :oops:

  4. 回复 园子 说:

    Wordpress 模板的 comments.php 文件中怎么找不到:呢?
    我用的是inove主题。

  5. 回复 蛋卷 说:

    这个我做了哈

  6. 回复 猪八戒 说:

    Gravatar 头像缓存的好处还是不太懂?应该可以让网站打开速度更快,是什么原理呢?

  7. 回复 pazz7ven 说:

    欢迎XXX归来左边的头像是怎么缓存在留言框上面的?

  8. 真是牛人一个啊!很适用我

  9. 回复 hsforever 说:

    有没有关于 gravatar 非WP的应用?

  10. 回复 锋子 说:

    :mrgreen: 百度 过来的~~哈哈 :twisted:

  11. 好像我的也失败了.没有改成功.
    虽然没有显示红叉,但是目录下面没有缓存到任何文件... :?:

  12. 回复 JohnnY 说:

    我尽力了,还是没看懂。。。 :cry: 是不是不缓存就用不了那个墙了捏?

  13. 不错。。。原来gravatar头像也可以缓存的。。。。

  14. 回复 newcoin 说:

    你的博客被你快折磨死了,哈哈

  15. 回复 willin 说:

    這個我一定要試試! 謝謝分享!
    不知 websnapr 縮圖是不是也可以?

  16. 回复 老饕 说:

    呵呵,我的头像也缓存啦?

  17. 回复 蛋王 说:

    哪天要改了过来直接拷代码,哈

  18. 回复 itlobo 说:

    win主机的,可以实现吗?

  19. 回复 whisperer 说:

    你们代码都弄成这个背景了 也是发芽网的?

  20. 回复 午夜 说:

    这个缓存,会自动更新吗?有时候访客会变更头像。

  21. 回复 kangzj 说:

    改天也做一下~收藏了

  22. 回复 林木木 说:

    提交完评论文章没格式了?测试,测试!可删

  23. 回复 林木木 说:

    恩,找考虑这个呢,万戈童鞋就写出来啦,哈哈,赶紧安上安上~

  1. 我的Wordpress,这些一个都不能少(一) | 阿邙’S Blog
  2. 簡易的 gravatar 頭像緩存 - Willin Kan 的博客

Leave a comment

ipage返佣

您已输入0

三言两语

我的生活心情语录

工作手札

路漫漫其修远兮

精品推荐

好东西要分享

嘻哈娱乐

八卦趣事一笑而过

电脑网络

全新技术尽搜罗

转来载去

文人墨客美文赏析