由于众所周知的原因,本博客会存在打不开的情况,可换个时间再访问。

修复Gravatar头像默认服务器的问题

公告说明 陈大猫 650℃ 0评论

timg.jpg

这个事本来是小事,不值得单独写篇博文来记录的。但为了防止下次wordpress更新后,文件内容被替换,还是记录一下权当存档吧。

事情缘起:更换为VPS服务器后,全站启用https,在加载文章页面时发现Gravatar头像加载十分慢,有点拖后腿的感觉,于是准备更换为国内的镜像。

解决过程:开始看了几篇博文,说的是修改博客主题的函数模板(function.php),添加一段代码即可。照做后没有用处,仍旧引用的是官方https源(https://secure.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 );

经过我实际测试、修改,应该是在3992行左右的如下代码:

if ( is_ssl() ) {
        $url = 'https://secure.gravatar.com/avatar/' . $email_hash;
    } else {
        $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
}

将https打头的地址改为你喜欢的国内镜像地址即可(我用的是极客族的公共加速服务 ,也就是将上述代码中的secure.gravatar.com/avatar 修改为sdn.geekzu.org/avatar)。

P.S:吐槽下Linode的东京机房,用了两天感觉还不如我之前的虚拟主机速度快,稳定性也很差,经常打不开网页,利用站长工具ping了一下,全国很多地方都ping不通。这让我对这家所谓的高富帅VPS服务商质量有所怀疑了。

转载请注明:伪医生律师的博客 » 修复Gravatar头像默认服务器的问题

喜欢 (0)
发表我的评论
取消评论

请点击激活左边的按钮后再提交评论

表情

请单击上面的框后再提交。

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (8)

  1. 这改法不好。每次升级你都要重新弄一遍。 在function.php里弄是对的。办法大同小异。 function my_get_cavatar($source) { $src = array('www.gravatar.com', '0.gravatar.com', '1.gravatar.com', '2.gravatar.com','secure.gravatar.com'); if( is_ssl() ){ $replace = 'sdn.geekzu.org'; } else{ $replace = 'fdn.geekzu.org'; } $source = str_replace( $src, $replace, $source); return $source ; } add_filter('get_avatar','my_get_cavatar'); 我猜你是漏掉了最后一句。
    大致2017-10-11 07:53 回复
  2. “https://secure.gravatar.com/”替换成“https://cdn.v2ex.com/gr”
    Kam2017-10-11 12:07 回复
  3. 直接在主题的function.php中修改,千万别修改wp的源文件,升级会比较麻烦
    Kam2017-10-11 12:08 回复
  4. 我一直都是用七牛运存储镜像Gravatar头像来解决这个问题的! :mrgreen:
    明月登楼2017-11-13 15:42 回复
    • 用哪儿的镜像都可以,当初我是代码没改对,所以一直没生效。
      陈大猫2017-11-13 17:12 回复
  5. 其实有个头像替换插件更方便
    灰常记忆2017-11-22 04:12 回复