Gravatar头像的完美替代方案Cravatar

什么是Gravatar

Gravatar是WordPress母公司Automattic推出的一个公共头像服务,也是WordPress默认的头像服务。但因为长城防火墙的存在,Gravatar在中国时不时就会被墙一下,比如本次从2021年2月一直到8月都是不可访问状态。

在以往的时候,国内的CDN厂商和博客主会使用反代的方式确保Gravatar在国内能正常访问,但老实说,这种方式很容易就会吃牢饭。不妨想一下,Gravatar为什么会墙?一定是出现了某些涉政、涉黄之类的违法内容。这些国家禁止的东西,我们将其反代入国内,可谓是细思极恐。同时反代也只能解决头像访问的问题,而解决不了头像上传的问题。

Cravatar简介

由于国内一直无法正常加载Gravatar全球通用头像,严重拖慢WordPress的加载速度,另外一些新手可能也不知道如何申请头像。近日WP-China-Yes插件的作者,再次推出并上线了国内Gravatar头像的完美替代方案Cravatar

国内Gravatar头像的完美替代方案Cravatar

Cravatar 完全兼容 Gravatar 的 API 规范,支持用户上传和分享头像。

进入Cravatar头像网站,用自己常用的邮箱注册,登录后点击“立即创建你的头像”。

上传一张头像图片,用注册的邮箱在支持头像显示的网站留言,就会看到自己专有的Cravatar头像。

那如何将Cravatar头像服务集成到自己的WordPress网站中呢?

很简单,将下面的代码添加到当前主题函数模板functions.php中即可:

if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
     * 替换Gravatar头像为Cravatar头像
     *
     * Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
     */
    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 );
}

if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {
    /**
     * 替换WordPress讨论设置中的默认头像
     */
    function set_defaults_for_cravatar( $avatar_defaults ) {
        $avatar_defaults['gravatar_default'] = 'Cravatar 标志';

        return $avatar_defaults;
    }

    add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
}

之后,Cravatar头像会替代Gravatar,头像加载速度显著提升,也不需要再将头像缓存到本地了。

当留言者使用的QQ邮箱没有申请头像,Cravatar会自动调用QQ头像,非常人性化。

另外,还可以尝试安装:LitePress中国本土的WordPress发行版

主题兼容情况及使用方法

知更鸟主题

知更鸟主题完美支持Cravatar头像,只需要在自定义获取头像地址中输入:cravatar.cn/avatar/,即可调用Cravatar头像。

沉默的大多数

未对WordPress本身 头像方案 过多魔改的主题可以通过安装 WP-China-Yes插件 的方法或者将下面的代码加入你的插件或主题的functions.php中

if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
     * 替换Gravatar头像为Cravatar头像
     *
     * Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
     */
    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 );
}

if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {
    /**
     * 替换WordPress讨论设置中的默认头像
     */
    function set_defaults_for_cravatar( $avatar_defaults ) {
        $avatar_defaults['gravatar_default'] = 'Cravatar 标志';

        return $avatar_defaults;
    }

    add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
}

暂不支持的

以下主题因为使用自有的头像方案,完全屏蔽了Gravatar,所以也不支持Cravatar:

  • 7B2
  • 日主题
  • 子比主题

其他主题的用户可以先去咨询一下作者是否愿意接入Cravatar,子比主题的作者明确表示暂不考虑,因此为了能够用上 Cravatar 头像只能自己修改,费尽千辛万苦终于搞好,后续整理一下子比主题支持Cravatar需要修改的代码,单独成文,这里仅作预告。

本站头像均调用自 Cravatar

参考自:

© 版权声明
THE END
喜欢就支持一下吧
点赞31赞赏 分享
评论 共11条
匿名的头像 - 登山亦有道
提交


匿名的头像 - 登山亦有道

昵称

在 WordPress 上使用 Sticker Heo 增添互动时的乐趣吧 !

取消
昵称表情代码图片
    • 牧之的头像 - 登山亦有道
      牧之 Windows Chrome 92.0.4515.159
      • 晨岩的头像 - 登山亦有道
        晨岩 Windows Edge 92.0.902.78
    • 林羽凡的头像 - 登山亦有道
      林羽凡 iPhone Safari 14.1.2
      • 晨岩的头像 - 登山亦有道
        晨岩 Windows Edge 92.0.902.67
          • 晨岩的头像 - 登山亦有道
            晨岩 Windows Edge 92.0.902.67
    • 牧之的头像 - 登山亦有道
      牧之 Windows Chrome 92.0.4515.131
      • 晨岩的头像 - 登山亦有道
        晨岩 Windows Edge 92.0.902.67
    • 马内的头像 - 登山亦有道
      马内 Windows Chrome 91.0.4472.164
      • 晨岩的头像 - 登山亦有道
        晨岩 Windows Edge 92.0.902.67