对Gravatar头像说再见 正式换上国内的Cravatar头像源
标签搜索
侧边栏壁纸
  • 累计撰写 131 篇文章
  • 累计收到 474 条评论

对Gravatar头像说再见 正式换上国内的Cravatar头像源

星光
2022-03-12 / 0 评论 / 73 阅读 / 正在检测是否收录...

国内反代的Gravatar源刷新速度很慢。很早之前换的Gravatar头像,一直到第三天都没变,还是原来的头像。

首先介绍一下Gravatar头像
可能还有很多新手站长朋友不知道什么叫做Gravatar头像,这里简单给大家科普一下:

Gravatar是WordPress母公司Automattic推出的一个公共头像服务,你只需要去Gravatar.com注册账号绑定自己的域名邮箱,然后上传自己喜欢的头像,在逛博客评论的时候,邮箱填写您的域名邮箱,会默认输出你在Gravatar上传的头像。

现在各大博客系统基本上都是支持Gravatar头像,但是因为长城防火墙的存在,Gravatar在中国境内时不时就会被墙一下,有时候去Gravatar上传自己的新头像,非常的繁琐。国内很多大佬也想了很多方法,比如使用反代和cdn加速确保Gravatar在国内能正常访问,法律上讲这种方法虽然可行但是违法的。可以仔细想一下为什么Gravatar头像在国内会被墙,一定是出现了某些涉政、涉黄之类的违法内容,然后被禁止国内访问。反代和cdn加速真的解决了本质问题吗,其实并没有,这种方法只是解决头像访问的问题,但是没有解决头像上传问题,我们如果换头像的话,就得利用国内的头像源去获取Gravatar头像。

在这里介绍下认识了一款咱们国内的头像库项目:

国内Cravatar头像源项目
Cravatar是lifepress团队在国内做的一个公益项目,是一个Gravatar完美的替代品。Cravatar100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。

Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户)

带来的效果是:

经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,大约70%的访客都会得到准确的头像。

也就是使用Cravatar,如果你没有Gravatar头像,Cravatar可以默认输出你的QQ头像。

总的来说,Cravatar在100%兼容Gravatar的同时,还有很多优点。具有更快的速度服务完全架设并运行在中国大陆境内,几乎是毫秒级的相应,真的可以提高博客的速度;更高的稳定性,因为项目架构在国内,我们属于国内,不可能出现被墙,简单来说不会出现时不时访问不了的情况;还有更高的头像展现率,在自有头像库的基础上囊括了Gravatar和QQ的头像库,更加的丰富;还支持较高效率的头像更新速率,五分钟刷新,自己心爱的头像马上展现在自己的心心念念的博客上。

Cravatar头像源我们该怎么接入呢?
这里我主要讲WordPress和typecho的接入方法,其他博客系统自己摸索就好了。

WordPress的接入方法
只需要将以下代码加入你的插件或主题的 functions.php 里即可。

if ( ! function_exists( 'get_cravatar_url' ) ) {

    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',
            '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 );
}

if ( ! function_exists( 'set_user_profile_picture_for_cravatar' ) ) {
    /**
     * 替换个人资料卡中的头像上传地址
     */
    function set_user_profile_picture_for_cravatar() {
        return '<a href="https://cravatar.cn" target="_blank">您可以在 Cravatar 修改您的资料图片</a>';
    }

    add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}

但是要注意的是7b2,日主题,子比主题主题作者已经摒弃了Gravatar头像,使用的自己的头像方案,所以无法支持Cravatar头像。

typecho的接入方法
我们主要是对官方的Gravatar换源,这个很简单

找到自己的博客程序的根目录,将以下代码加到站点根目录的 config.inc.php 中即可

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');

Cravatar官网地址
https://cravatar.cn

Cravatar的头像源
找到你的主题目录,找到Gravatar头像加速功能,把这个填进去即可。

https://cravatar.cn/avatar

测试一下速度,不得不说非常的给力。

有兴趣的小伙伴可以自己替换一下,祝各位朋友生活愉快!

0

评论 (0)

取消