使用 Cravatar 解决 Gravatar 头像无法访问的问题

发布于 2021-09-20  5,804 次阅读


Gravatar全球通用头像服务

1、基本介绍

Gravatar,即全球公认的头像,是一项免费的头像服务,适用于网站所有者,开发人员以及任何想要轻松且经过验证的在线身份的人。它被内置在每个WordPress.com 帐户中,并在开放网络中广泛实施。我们可以通过登录wordpress账号创建和上传图片进行个性设置。

2、使用方式

  • 进入官网,点击Create your Gravatar开始注册账户。

注册gravatar账户

  • 进入wordpress注册页面,填写注册邮箱和账户名以及密码。如果有账户,点击已有Wordpress.com账户进行登录。

注册gravatar账户

  • 在注册完成后会收到来自wordpress的激活邮件,打开激活邮件。

注册gravatar账户

  • 点击激活账户。

注册gravatar账户

  • 跳转到wordpress阅读器界面

注册gravatar账户

  • 点击右上角的头像跳转到个人信息页面,就可以对头像进行设置了。

注册gravatar账户

3、常见问题

由于近几年中国大陆的Gravatar服务的CDN服务被污染,现在已经无法通过官方服务器进行访问了。解决方法如下:

Cravatar互联网公共头像服务

1、基本介绍

Cravatar 是 Gravatar 在中国的完美替代方案,从此你可以自由的上传和分享头像。Cravatar的 API 和 Gravatar 100% 兼容。当用户请求自己的头像时,会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ 头像,Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户)。对于博客站,这平均可以为 70% 的访客提供准确的头像。

Cravatar 头像服务

Cravatar相比Gravatar还有以下优势:

  • 头像服务完全搭建在中国大陆境内,因此响应速度很快。
  • 所有头像经人工审核确保不会出现违规内容,不会出现访问不了的情况。
  • 头像在Gravatar基础上,囊括了QQ头像,更贴近中国开发者。

2、使用方式

在主题文件夹下的functions.php中添加以下代码:

if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
    *使用Cravatar头像服务替换Gravatar
    * @param string $url
    * @return string
    */
    function get_cravatar_url( $url ) {
        $sources = array(
            'www.gravatar.com',
            '0.gravatar.com',
            '1.gravatar.com',
            '2.gravatar.com',
            'secure.gravatar.com',
            'cn.gravatar.com'
        );
        return str_replace( $sources, 'cravatar.cn', $url );
    }
    add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
    add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
    add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}

活的像诗一样