关于缓存 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 头像至本地服务器这一功能。
-
Wordpress 2.7+主题 gravatar 头像缓存2009年11月13日 -
QQ 自定义头像+Gravatar 头像缓存2010年04月6日 -
Wordpress gravatar 头像缓存补充说明2010年01月19日 -
Wordpress 侧边栏带头像的最新评论2009年12月26日
Pingback: Wordpress头像无法显示的解决方法 | 欢迎来到凡哥的个人主页!!
Pingback: 额头wetwet | 欢迎来到【凡哥个人主页】!!!
Pingback: Wordpress头像无法显示的解决方法 | 【凡哥个人主页】
Pingback: Gravatar头像缓存的几种方法 | 一瞬视觉工作室
Pingback: Wordpress优化(非插件篇) | 小仓のblog
Pingback: Gravatar头像缓存的几种方法 | 周良博客
comments.php 里没有那个代码怎么办。。。
怎么样才能知道缓存有没有生效呢。。。
查看源码的头像路径就知道了,如果还有gravatar.com这样的域出现,就说明没有成功
这个方法是不错能提速,不过如果访客的头像更新了,调用出来的还是以前缓存的
可以设置自动更新时间,我是七天更新一次
我已经设置了头像大小为45,但是现在有些头像是64,有些是32,有些是45的,请问怎么回事?
控制头像的不只有参数,还有样式,有的可能被CSS强制放大或缩小了
我弄了,但是出来的头像错位...
那一定是样式的问题了
那我再弄弄试试~
Pingback: Gravatar头像无法显示的解决方法【集】
早知道搞缓存的,现在悲剧了。
现在缓存还来的及呢
呵呵,
如果加上定期自动清空缓存会更好些.
毕竟有些人有时换了头像
或者一些只来一次的人头像也缓存,加大了负担.
comments.php里面找不到这个
有个gravatar的服务器被墙了 折腾死个人啊
那说明你的主题是支持2.7+的,要看这篇:
http://wange.im/cache-gravatar-for-wordpress-2-7.html
这个可以有
万兄,请问下貌似win主机搞不定啊
WordPress 模板的 comments.php 文件中怎么找不到:呢?
我用的是inove主题。
inove的主题肯定是符合2.7+标准的,头像缓存你要看这篇:
http://wange.im/cache-gravatar-for-wordpress-2-7.html
这个我做了哈
Gravatar 头像缓存的好处还是不太懂?应该可以让网站打开速度更快,是什么原理呢?
因为gravatar是国外的网站,如果本地服务器每次读取gravatar头像都要跑到国外网站去,会影响速度,所以如果把gravatar缓存至本地服务器,那样会好很多
本地服务器指的是你的主机空间(存放wange.im的网站)吧?如果我的主机是国外的还有缓存的必要吗?
欢迎XXX归来左边的头像是怎么缓存在留言框上面的?
等会我写个教程吧
很多人都很关心这个问题吧
恩,已经有不少人问过了,一直没时间写,今天就写个吧
还有浏览器上的title哦 哈哈 欢迎XXX归来 life studio
这个是两种方法,我分两个教程写吧
Pingback: 我的Wordpress,这些一个都不能少(一) | 阿邙’S Blog
真是牛人一个啊!很适用我
有没有关于 gravatar 非WP的应用?
额。。。我只对WP有些些研究
恩,看到了,是搜索“wp 头像缓存 万戈”吧?
好像我的也失败了.没有改成功.
虽然没有显示红叉,但是目录下面没有缓存到任何文件...
首先要确定你的主题是2.7-还是2.7+的?
我尽力了,还是没看懂。。。
是不是不缓存就用不了那个墙了捏?
不是啊,如果头像不缓存,可以用通用版的读者墙,或者插件也可以
是方便很多了.
恩,只是以后升级要麻烦些
不错。。。原来gravatar头像也可以缓存的。。。。
缓存成功了。感谢下。的确一开始只是缓存了部分。
不用客气的,我也是借鉴了几位牛人的做法
赞,实用.
这个也是从别处转来的
头像不能显示,是个恐怖的叉叉.
虽然链接有指向目录,
但cache目录下没有生成缓存,
唉,晚上再琢磨琢磨.
用上了,3Q
3什么Q呀,我也是帮忙转载分享一下而已,相信肯定会有人用的着的
Pingback: 簡易的 gravatar 頭像緩存 - Willin Kan 的博客
你的博客被你快折磨死了,哈哈
生命不息,折腾不止
这东西是不是有点麻烦呀~
不麻烦,一劳永逸的事情,不要怕麻烦哟~
這個我一定要試試! 謝謝分享!
不知 websnapr 縮圖是不是也可以?
如果可以的话那就牛叉了,呵呵
他的 index.php 第13~27 行有設定項, 可自行修改. 其中 'pos_expiry' 是 7 天, 'neg_expiry' 是 12 小時, 也就是舊頭像 7 天更新一次, 新頭像 12 小時內不做更新動作.
呵呵,我的头像也缓存啦?
wange.im/gravatar/cache/avatar/53063bdca87c32f56d3d7f9f440e6860
这是你缓存在我服务器上的头像,很帅哟
哪天要改了过来直接拷代码,哈
择日不如撞日,就今天吧
日后再说
win主机的,可以实现吗?
这个我还真不知道,可以试试嘛,记得把结果告诉我哟
win主机读不了.htaccess,无法完成缓存.刚才测试就是这样子.不知道是否我弄错了.
你们代码都弄成这个背景了 也是发芽网的?
我一直都是用发芽网的,从来没用过代码高亮插件哟
嗯 不错 我也转投发芽了,原来用的syntaxhighlighter和我的评论插件冲突,而且禁用之后代码全乱了~~
这篇文章的代码格式设计得不错,padding和margin是手动加上的么?
呵呵,这是从原作者那里直接复制过来的代码,他用的也是发芽
你是说showfom?
我写到css里了,哈哈
showfom也不是作者,iShawn才是,我从他那里复制过来的
这个缓存,会自动更新吗?有时候访客会变更头像。
嘎嘎
还有什么好货色,统统的给我交出来
WordPress 的好东西 我会慢慢介绍的 哈哈
我等不及了,速度!
话说,是不是被yslow整的没耐心了呀
yslow 懒得弄了 反正速度差不多了 嘎嘎
哈哈,我就知道,你放弃了超越我的机会呀,哦耶
改天也做一下~收藏了
提交完评论文章没格式了?测试,测试!可删
测试again
恩,找考虑这个呢,万戈童鞋就写出来啦,哈哈,赶紧安上安上~