4 种方法解决 Gravatar 被墙导致无法显示的问题

最近 Gravatar 又被墙了,好几位买了 Minty 主题的朋友来问我该怎么解决,这篇文章就来总结一下我所知道的 4 种解决方法。

1. 使用未被墙的地址

目前一共收集到 7 个 Gravatar 官方地址,其中前 4 个被墙了,所以我们使用未被墙的地址作为替代:

  • http://www.gravatar.com
  • http://0.gravatar.com
  • http://1.gravatar.com
  • http://2.gravatar.com
  • http://gravatar.com
  • http://cn.gravatar.com
  • https://secure.gravatar.com

添加以下代码到 functions.php

function unblock_gravatar( $avatar ) {
    $avatar = str_replace( array( 'http://www.gravatar.com', 'http://0.gravatar.com', 'http://1.gravatar.com', 'http://2.gravatar.com' ), 'https://secure.gravatar.com', $avatar );
    return $avatar;
}
add_filter( 'get_avatar', 'unblock_gravatar' );

2. 使用多说提供的镜像地址

多说是国内 No.1 的社会化评论系统,它专门设立了一个镜像地址来中转显示 Gravatar,加载速度可比官方的快多了,代码和方法 1 类似:

function unblock_gravatar( $avatar ) {
    $avatar = str_replace( array( 'www.gravatar.com', '0.gravatar.com', '1.gravatar.com', '2.gravatar.com' ), 'gravatar.duoshuo.com', $avatar );
    return $avatar;
}
add_filter( 'get_avatar', 'unblock_gravatar' );

3. 使用七牛云存储的镜像功能

本站曾介绍过如何使用七牛云存储来加速 WordPress,同样的方法,你也用来加速 Gravatar,本方法稍显麻烦,就不具体展开了。
大致就是建一个七牛空间来镜像 gravatar.com,然后借用方法 2 替换 gravatar.com 为七牛的域名。

4. 使用 WordPress 插件缓存头像到主机空间

如果你使用的是国外主机,可以正常访问 Gravatar.com,那么你也可以选择将 Gravatar 缓存到自己的主机空间。
插件:FV Gravatar Cache

我一直都是用的第 2 种方式,你呢?

50 条评论

发表评论

*