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

网络 z197 1259次浏览 已收录 用手机观看

玩博客的人大多应该都知道Gravatar头像,基本上也都会注册一个Gravatar头像,这样在一些博客发表评论的时候能够更加美观的展示信息。

但是由于一些特殊原因,Gravatar头像时不时的就无法访问,或者访问速度很慢,反而影响了网站的打开效率及展示效果。

网上也有很多提供了CDN代理等方式,来访问Gravatar头像,不过有时候服务很不稳定。这种方式也只能解决访问问题,对于一些不会去Gravatar官网注册的用户来说,也很难弄一个自己的头像。

Cravatar 头像服务

Cravatar 是 Gravatar 在中国大陆的完美替代方案,从此你可以自由的上传和分享头像。

Cravatar 完美兼容所有 Gravatar 头像 API 接口,同时如果你未在 Cravatar 设置头像,则会先尝试调用 Gravatar 上的头像数据,其后是 QQ 头像(仅限于使用QQ数字邮箱的用户),最后会返回一组默认头像。

此外,Cravatar平台还会对所有头像进行人工审核(也包括来自 Gravatar 和 QQ 的头像),所有包含暴恐、色情、政治等违反中国法律的内容都会被屏蔽,并返回默认头像,确保不会出现害群之马。

之前我也写过一篇文章《解决WordPress的Gravatar头像被墙显示不出来的问题》,主要也是替换Gavatar头像地址,后来也是使用的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',
'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" rel="noopener">您可以在 Cravatar 修改您的资料图片</a>';
}
add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}

如果你想上传自己的头像,可以在Cravatar官网注册账号,即可添加和更换头像,头像修改后会在5分钟内刷新缓存并生效。

如果你在Cravatar官网注册的邮箱也注册过Gravatar头像,那么Cravatar也会自动获取Gravatar头像,然后你可以更改头像。

转自:

https://www.weisay.com/blog/cravatar.html