替换Gravatar头像默认服务器

知更鸟
知更鸟
知更鸟
站长
2594
文章
0
粉丝
WordPress10033,189阅读模式

利用多说Gravatar头像中转服务器替代头像默认服务器。

将下面代码添加到当前主题functions.php文件中:

  1. function mytheme_get_avatar( $avatar ) {
  2. $avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );
  3. return $avatar;
  4. }
  5. add_filter( 'get_avatar', 'mytheme_get_avatar' );

可惜多说服务稳定性欠佳,有时也会暂时无法显示头像。如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度。

使用https方式(SSL)调用Gravatar头服务器地址

使用方法同上,将下面代码添加到主题functions.php文件中:

  1. function get_ssl_avatar($avatar) {
  2.    $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);
  3.    return $avatar;
  4. }
  5. 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行:

  1. if ( is_ssl() ) {
  2.     $host = 'https://secure.gravatar.com';
  3. } else {
  4.     if ( !emptyempty($email) )
  5.         $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
  6.     else
  7.         $host = 'http://0.gravatar.com';
  8. }

替换为:

  1. $host = 'https://secure.gravatar.com';

或者(支持头像缓存插件)

  1. $host = 'http://cn.gravatar.com';

WP4.2之后版本,打开wordpress程序目录的wp-includes文件夹,打开link-template.php,将大约第3604行的:

  1. $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );

修改为:

  1. $url = sprintf( 'http://cn.gravatar.com/avatar/%s', $email_hash );

之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用。

以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用。

推荐几款Gravatar头像缓存插件

fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍。

本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  100  访客  87  作者  5
    • David
      David

      呵呵,不错

        • 我爱动感单车网
          我爱动感单车网

          @ David :razz: 我喜欢里面介绍的第二种方法,比较来得简单但相当实用,具体效果感兴趣的朋友可以去我博客看看哦。

            • 我爱动感单车网
              我爱动感单车网

              @ 我爱动感单车网 :cry: 已经用了好几个月时间,但发觉“使用https方式(SSL)调用Gravatar头服务器地址”也不给力啊,同样经常性的加载缓慢。特别是这几天慢的要死,还有什么好点办法没有?知道的朋友请给说说嘛。

          • 浩瀚
            浩瀚

            博主用的什么图片播放插件?就是类似“jQuery Table of Contents”的。

            • 筛宝
              筛宝

              是用插件解决的。

              • 美Win网
                美Win网

                鸟哥用的是本地的缓存呀!

                • 广东发票
                  广东发票

                  翻土代理,上网无忧

                  • Handle
                    Handle

                    因为缓存似乎很烧空间而且是https站,
                    完全懒的改代码,
                    所以默默照着方法安装插件改成https服务器的路过

                    • 涂涂小窝
                      涂涂小窝

                      一直关注鸟哥,也在向鸟哥学习 :lol:

                      • 宝赚金
                        宝赚金

                        头像该怎么改才行呢?

                        • taogouqi
                          taogouqi

                          使用了Gravatar Fixed插件后正常显示,感谢!

                          • avas8
                            avas8

                            来看下头像

                            • Kylin
                              Kylin

                              ality用户删除评论会报错,版本4.2.4

                              • 子叶
                                子叶

                                typecho改了可以!

                                • 李胜利博客
                                  李胜利博客

                                  不错,学习了!!!!

                                  • 艾秋
                                    艾秋

                                    中文中文

                                    • 陈庚华律师
                                      陈庚华律师

                                      用鸟哥的主题这么久了 来留个言

                                      • 小康博客
                                        小康博客

                                        WP4.2版本之后改成$url = sprintf( ‘http://cn.gravatar.com/avatar/%s’, $email_hash );可以缓存吗?怎么设置缓存后后台设置讨论里面头像无法显示,前台好像正常,帮忙看下,地址:http://www.xiaokang.info/guestbook ,谢谢!

                                        • 我爱动感单车网
                                          我爱动感单车网

                                          本地缓存是目前最好的方式,虽然好但是自己不会弄,实在纠结的很。无奈之下只能是退而求其次,目前使用的是https方式,但愿在今后自己能够找到更好与可以长久使用的好方法吧。如果这的哪位大神能够指点一二,不胜感激 :razz: !

                                          • Shion
                                            Shion

                                            不错

                                            • daisisi2008
                                              daisisi2008

                                              测试一下

                                              • 众爱联盟
                                                众爱联盟

                                                申请成功,不知道怎样给普通用户默认一个头像

                                                • binaryjp
                                                  binaryjp

                                                  gravatar.com是不是无法做镜像了

                                                  • 网赚
                                                    网赚

                                                    正好用到,多谢了

                                                    • 片段艺文志
                                                      片段艺文志

                                                      放上这些代码后,后台头像变大了,不知道怎么回事?

                                                        • 我辈博客
                                                          我辈博客

                                                          @ 片段艺文志 SSL方法吧。默认会放大2倍,前台不影响使用。强迫症的话可以把height=”$2″ width=”$2″中的$2改为50,但是弊端就是尺寸固定了,都是50*50的

                                                        • 福利社
                                                          福利社

                                                          我替换完了,但是想换个图片,就是换不了 :cry: :cry: :cry:

                                                          • 金融大亨
                                                            金融大亨

                                                            感觉还是不要用这个插件了,特别坑……

                                                            • 伍仪洲
                                                              伍仪洲

                                                              请问一下博主是如何解决评论慢的问题呢?

                                                              • aliyun
                                                                aliyun

                                                                gravatar还能用?

                                                                • 陈大猫
                                                                  陈大猫

                                                                  WP4.2之后版本,打开wordpress程序目录的wp-includes文件夹,打开link-template.php
                                                                  ——
                                                                  我这几天一直保守困扰,明明在主题函数文件里修改了ssl替换为国内资源的地址,为什么还是调用的官方的https源,看了你这篇博文测试后才知道原来在上面这个文件里还有这么一处代码,修改后,头像终于调用到国内资源了。谢谢博主。

                                                                  • 疯书生
                                                                    疯书生

                                                                    现在多说也不能用了。。

                                                                    • 阿里巴巴发
                                                                      阿里巴巴发

                                                                      我喜欢里面介绍的第二种方法,比较来得简单但相当实用,具体效果感兴趣的朋友可以去我博客看看哦。

                                                                    匿名

                                                                    发表评论

                                                                    匿名网友

                                                                    拖动滑块以完成验证