利用多说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的造成极大障碍。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
陕西省西安市 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
感谢鸟哥
北京市 43F
呵呵,不错
广西桂林市雁山区 B1
@ David 我喜欢里面介绍的第二种方法,比较来得简单但相当实用,具体效果感兴趣的朋友可以去我博客看看哦。
广西桂林市 B2
@ 我爱动感单车网 已经用了好几个月时间,但发觉“使用https方式(SSL)调用Gravatar头服务器地址”也不给力啊,同样经常性的加载缓慢。特别是这几天慢的要死,还有什么好点办法没有?知道的朋友请给说说嘛。
河南省 44F
博主用的什么图片播放插件?就是类似“jQuery Table of Contents”的。
广东省广州市 45F
是用插件解决的。
江苏省苏州市 46F
鸟哥用的是本地的缓存呀!
中国 B1
@ 美Win网 在目前这种环境下,头像缓存本地是唯一上策
广西桂林市 B2
@ 知更鸟 请问鸟哥,你的本地缓存是使用插件,还是集成到主题来实现的呢?
中国 B3
@ 我爱动感单车网 我没使用头像缓存
广西桂林市 B4
@ 知更鸟 非常感谢鸟哥百忙之中给予回复,衷心谢谢啦!
美国 47F
翻土代理,上网无忧
河南省洛阳市 48F
因为缓存似乎很烧空间而且是https站,
完全懒的改代码,
所以默默照着方法安装插件改成https服务器的路过
广东省深圳市 49F
一直关注鸟哥,也在向鸟哥学习
河南省开封市 50F
头像该怎么改才行呢?
上海市嘉定区 51F
使用了Gravatar Fixed插件后正常显示,感谢!
广东省广州市 52F
来看下头像
福建省 53F
ality用户删除评论会报错,版本4.2.4
福建省三明市 54F
typecho改了可以!
北京市 55F
不错,学习了!!!!
山东省青岛市 56F
中文中文
广东省广州市 57F
用鸟哥的主题这么久了 来留个言
福建省福州市 58F
WP4.2版本之后改成$url = sprintf( ‘http://cn.gravatar.com/avatar/%s’, $email_hash );可以缓存吗?怎么设置缓存后后台设置讨论里面头像无法显示,前台好像正常,帮忙看下,地址:http://www.xiaokang.info/guestbook ,谢谢!
广西桂林市阳朔县 59F
本地缓存是目前最好的方式,虽然好但是自己不会弄,实在纠结的很。无奈之下只能是退而求其次,目前使用的是https方式,但愿在今后自己能够找到更好与可以长久使用的好方法吧。如果这的哪位大神能够指点一二,不胜感激 !
内蒙古呼和浩特市 60F
不错
浙江省杭州市 61F
测试一下
浙江省杭州市 62F
申请成功,不知道怎样给普通用户默认一个头像
山西省晋城市 63F
gravatar.com是不是无法做镜像了
山东省聊城市 64F
正好用到,多谢了
宁夏 65F
放上这些代码后,后台头像变大了,不知道怎么回事?
浙江省湖州市 B1
@ 片段艺文志 SSL方法吧。默认会放大2倍,前台不影响使用。强迫症的话可以把height=”$2″ width=”$2″中的$2改为50,但是弊端就是尺寸固定了,都是50*50的
江苏省南通市 66F
我替换完了,但是想换个图片,就是换不了
广东省汕头市 67F
感觉还是不要用这个插件了,特别坑……
陕西省西安市 68F
请问一下博主是如何解决评论慢的问题呢?
陕西省西安市 69F
gravatar还能用?
陕西省西安市 70F
WP4.2之后版本,打开wordpress程序目录的wp-includes文件夹,打开link-template.php
——
我这几天一直保守困扰,明明在主题函数文件里修改了ssl替换为国内资源的地址,为什么还是调用的官方的https源,看了你这篇博文测试后才知道原来在上面这个文件里还有这么一处代码,修改后,头像终于调用到国内资源了。谢谢博主。
陕西省西安市 71F
现在多说也不能用了。。
陕西省西安市 72F
我喜欢里面介绍的第二种方法,比较来得简单但相当实用,具体效果感兴趣的朋友可以去我博客看看哦。
来自外部的引用