技术

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

由于国内一直无法正常加载Gravatar全球通用头像,严重拖慢 Typecho 的加载速度,另外一些新手可能也不知道如何申请头像。

Cravatar头像申请地址)

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

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

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

很简单,将以下代码加到站点根目录的 config.inc.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头像,非常人性化。

Prev Next
No Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注