听说Gravatar被墙了,我有点想不通,这个提供头像服务的gr级别的阿凡达为什么会列入被墙的范围呢?一个用起来最大都不想超过64*64的图像,难道还满载着所有资本主义的血和肮脏的东西吗?真的想不通!或许是和它同IP的服务器上放有什么不和谐的网站吧......
不管怎么个想不通,这个Gr阿凡达还是被墙了,结果是博客上评论的作者头像都是叉叉,firefox还好,没图片就直接空白,只是这大面积的空白看着也不舒服,所以得想办法解决。
LP同学从别人那转了两个方法,我就现学现用了。
方法一:避免使用“0.gravatar.com”服务器
通过测试发现,gravatar的主页还是可以访问的,所以可以通过修改相关文件,使wordpress从gravatar主页获取用户的头像解决这个问题。
打开“wp-includes/pluggable.php”文件,在第1645-1652行找到如下代码块:
if ( is_ssl() ) { $host = 'https://secure.gravatar.com'; } else { if ( !empty($email) ) $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) ); else $host = 'http://0.gravatar.com'; }
将其修改为:
if ( is_ssl() ) $host = 'https://secure.gravatar.com'; else $host = 'http://www.gravatar.com';
然后保存覆盖就行了。
-----------2010.10.19更新方法一补充开始--------------
如果你觉得方法一修改源文件麻烦的话,现在可以通过插件来实现了。Gravatar Fixed插件的工作原理和方法一完全一样,只是用起来更为方便,如图:
-----------2010.10.19更新方法一补充结束--------------
方法二:将Gravatar头像缓存至博客主机
以前在willin大师的博客上有看过介绍头像缓存到自己主机的方法,可是试了几次后不成功,问过林木木同学他说也不知道怎么解决,后来就放弃了。这回这个办法是直接通过插件缓存到空间上,也就是安装GravatarLocalCache插件,wp3.0后安装插件很简单了,到后台插件那查找这个插件名字,然后点安装就可以了。安装完插件后在wp-content下会多一个glc_cache的文件夹,如果没有,自己手动建一个,将文件夹的权限修改为755即可。
不过插件的这个方法只适用于使用国外主机的博客,原理就是相当于从你国外的主机访问Gravatar服务器,然后将头像缓存在你主机空间上,然后再通过你的主机空间输出到博客页面上来(留言者的地址变为http://muxer.cn/wp-content/glc_cache/*******.jpg的形式),只要你的博客能访问,当然不存在墙不墙的问题了。
如果博客设置有缓存,可能头像不会马上就改过来。
相比较第二种方法,第一种方法的好处就是不占用服务器的资源和流量,而且也适用于国内主机;但是采用第二种方法可以提高头像图片的加载速度,而且一旦Gravatar的服务器全部被墙,也能正常运行。
当然,你也可以两种方法一起用。
谢谢, 可以了
真是烦啊,一会这个看不了,一个那个用不了!
要是社交的话,有个多说,也是可以解决些问题的……
站长的法子,晚上试试……
找到了!谢谢
我干脆关闭了头像显示.
本站的gravatar头像好像都存在duoshuo的 域名上.难道是人家缓存了?
呵呵.
中转,也算是吧。
呵呵,谢谢,搞定了~~~
大家终于都意识到头像缓存的重要性和必要性了
可惜当时没有成功,最后放弃了,现在只有依赖插件了。
谢谢分享,已解决了~~
不客气,
交换个链接吧~(∩_∩)~
好,谢谢!
测试头像。
测你个头。。。
能否直接删除掉取Gravatar头像的功能?