利用多说Gravatar头像中转服务器替代头像默认服务器。
将下面代码添加到当前主题functions.php文件中:
- function mytheme_get_avatar( $avatar ) {
- $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );
- return $avatar;
- }
- add_filter( 'get_avatar', 'mytheme_get_avatar' );
可惜多说服务稳定性欠佳,有时也会暂时无法显示头像。如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度。
使用https方式(SSL)调用Gravatar头服务器地址
使用方法同上,将下面代码添加到主题functions.php文件中:
- function get_ssl_avatar($avatar) {
- $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
- return $avatar;
- }
- add_filter('get_avatar', 'get_ssl_avatar');
貌似添加以上代码后,一些头像缓存插件也将失效。
使用Gravatar Fixed 头像修正插件
插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com
另一个比较笨的方法:
打开wordpress程序目录的wp-includes文件夹,找到pluggable.php(WP4.2之前版本)打开,将大约2150至2157行:
- if ( is_ssl() ) {
- $host = 'https://secure.gravatar.com';
- } else {
- if ( !emptyempty($email) )
- $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
- else
- $host = 'http://0.gravatar.com';
- }
替换为:
- $host = 'https://secure.gravatar.com';
或者(支持头像缓存插件)
- $host = 'http://cn.gravatar.com';
WP4.2之后版本,打开wordpress程序目录的wp-includes文件夹,打开link-template.php,将大约第3604行的:
- $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
修改为:
- $url = sprintf( 'http://cn.gravatar.com/avatar/%s', $email_hash );
之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用。
以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用。
fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
- Gravatar头像
- WordPress





陕西省西安市 1F
可以交换链接吗
浙江省温州市 2F
这个是头像镜像服务器?多说把gravatar搞定了?
山东省枣庄市 B1
@ 情绪21℃ 已经搞定了,我的网站就用的多说的,其实这个方法上年这时候就有人写出来了
浙江省温州市 3F
我们能在国外的服务器上自己搭个gravatar头像缓存然后让自己国内的博客调用么,发现国外一堆服务器闲置,好浪费
湖南省郴州市 4F
鸟哥,“wp slug translate”这个插件好像不好用了……有相关的替代吗?
B1
@ 看得见风的人 还是找个在线翻译软件,手工改吧
浙江省温州市苍南县 B2
@ 知更鸟 我的网站回复评论老是在转,实际上已经提交了,是什么原因?
湖南省郴州市 5F
现在后台好慢~·
辽宁省抚顺市 6F
原来如此,怪不得最近总是不显示头像呢,天朝无语啊
辽宁省抚顺市 7F
问题已解决,谢谢鸟哥
山东省济南市 8F
多说也是倒霉孩子
贵州省贵阳市 9F
感谢鸟哥,参照更新后问题解决。
广东省深圳市 10F
百度了很多方法,下面也可以
function get_ssl_avatar($avatar) {
$avatar = preg_replace(\'/.*/avatar/(.*)?s=([d]+)&.*/\',\'\',$avatar);
return $avatar;
}
add_filter(\'get_avatar\', \'get_ssl_avatar\');
B1
@ vision 嗯,这个方法速度比较快
辽宁省营口市 B1
@ vision 我用您这种方法怎么不可以呀?
浙江省宁波市 11F
cn.gravatar.com,en.gravatar.com也是可以的,有时候wordpress.org都抽风,实在无奈。。。
宁夏银川市 12F
广东省东莞市 13F
谢谢鸟哥的对策
山东省烟台市 14F
我试了用https方式获取头像,好像不好用。也没细看正则表达式。我直接把pluggable.php中的function get_avatar()下面的$host赋值https://secure.gravatar.com,很 好使。
广东省东莞市 15F
不知道升级了主题,为什么自带几个头像都没了
广东省东莞市 B1
@ 小小百姓 [img]http://c.picphotos.baidu.com/album/s%3D740%3Bq%3D90/sign=812315dccaea15ce45eee20d863b4bce/8694a4c27d1ed21b8cec55bcae6eddc451da3f45.jpg[/img]
全部变成了这个样子。。。
B2
@ 小小百姓 用后两种方法
自己连个头像都没有,还折腾这个
广东省东莞市 B3
@ 知更鸟 嘿嘿,我自己的是本地上传的……感觉这个程序不够人性化,不能提供几种头像让注册用户自己选择,Gravatar头像好是好,省了自己空间的资源,但也仅限于站长之间的互动而已,普通用户你根本不可能要求他们去Gravatar注册一个自己的属于自己的电邮头像。
辽宁省营口市 B4
@ 小小百姓 呵呵,说得也是哈,我没做站那时也没头像。。。
安徽省 16F
用了你的替换的笨方法,头像在IE浏览器下显示正常,但在火狐和GOOGLE下显示仍然不正常,火狐加载非常缓慢,怎么解决,急!!
安徽省 B1
@ lufan 图标显示正常了。好方法!
广东省东莞市 17F
看到大家的Gravatar头像被墙,我这里也提供一个用七牛搭建的Gravatar头像缓存。七牛的速度我想大家也体验过了吧!WordPress博客请将下面代码添加到当前主题的functions.php文件中即可解决。
//=== Gravatar头像缓存 ===//
function gravatar_cache($avatar){
$avatar = preg_replace( \"/http://(www|d).gravatar.com/\",\"http://gravatar.hechaocheng.cn\",$avatar );
$avatar = preg_replace( \"/?s=/\",\".png?s=\",$avatar );
return $avatar;}
add_filter( \'get_avatar\', \'gravatar_cache\' );
北京市 B1
@ 何朝城 这个方法好用,感谢
黑龙江省双鸭山市友谊县 B1
@ 何朝城 这个方法,怎么用呢?详细步骤,请说说
广东省珠海市 18F
为什么这个我注册好,上传头像不能保存呢?
日本 19F
试试看我的头像
山东省青岛市 20F
不错,头像问题解决了~~~
北京市 21F
测试一下
广西 22F
出新主题了,好期待啊,什么时候发布啊,鸟哥
四川省成都市 23F
新主题很好看
广东省惠州市 24F
很不错!
浙江省杭州市 25F
支持,正为gravatar被墙发愁呢!
江苏省苏州市 26F
头像插件起用,需要设置什么吗
江苏省苏州市 27F
我启用了GravatarLocalCache这个头像插件,但是头像没显示,是个灰色的头像
黑龙江省双鸭山市友谊县 B1
@ 喜欢它的美 使用Gravatar Fixed 头像修正插件
插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com
这句话,你照做了吗?我试了一下,反正我自己的是好了
四川省自贡市 28F
问题完美解决了~~~
山东省 29F
看看头像
浙江省金华市 30F
这个有点不明白哈。if ( is_ssl() ) {
$host = ‘https://secure.gravatar.com’;
} else {
if ( !emptyempty($email) )
$host = sprintf( “http://%d.gravatar.com”, ( hexdec( $email_hash[0] ) % 2 ) );
else
$host = ‘http://0.gravatar.com’;
}
这里面的代码 ,具体是怎么个替换哈。
江西省赣州市 31F
点赞,适合我这新手看,方法很实用!
伊朗 32F
挺好
云南省大理州 33F
让人头疼的事情,感觉最笨的方法还是很实用。个人觉得还是把头像缓存到本地好些
陕西省西安市 34F
你的网站很好,我已经加了添加友情链接了
黑龙江省双鸭山市友谊县 35F
使用Gravatar Fixed 头像修正插件
插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com
这段话写的不错,插件用了好几天了,头像还是时有时没有的,今天在仔细看看,这篇文章,吧插件设置里,都修改了这个地址,然后确定,哈哈,头像出来了,感谢啊!
黑龙江省双鸭山市友谊县 36F
地址栏打开自己的博客窗口小图标一直显示知更鸟的图标,今天终于修改成了自己的,话说把ICO图标,上传至根目录,就这个根目录可把我弄疯了,一直上传各种根目录都没好用,最后还把博客弄成乱码!删除,重装,咱在重新再来,本着 删除无罪‘折腾有理的原则,终于弄好了,我的地址是这样的:/htdocs/wp-content/themes/HotNewspro/images ,发出告诉大家,分享一下我的成果 哈哈!
湖南省常德市津市市 37F
我来看看我有没有图像
江苏省苏州市 38F
相当的实用!
河南省 39F
现在可以正常显示咯
广东省阳江市 40F
多说有时加载也挺慢的。
北京市 41F
用多说的服务器也挺好,基本不会拖速度
福建省 42F
感谢鸟哥
来自外部的引用