Cravatar 完美兼容所有 Gravatar 头像 API 接口,同时如果你未在 Cravatar 设置头像,则会先尝试调用 Gravatar 上的头像数据,当你使用QQ邮箱时则会调用你的QQ头像,若没有头像时,最后会返回我们为你准备的一组默认头像。
以前使用了各种各样的方法来解决头像打不开的问题,目前有了完美的解决方案:
与Gravatar API兼容
为了降低你的使用成本,我们的API规范始终保持与 Gravatar 100%兼容
独有的三级头像匹配机制
当访客请求自己的头像时,我们会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ头像,这平均可以为70%的访客提供准确的头像
为 WordPress 集成
你可以很方便的为 WordPress 集成 Cravatar 头像服务,只需要将以下代码加入你的插件或主题的 functions.php 里即可:
if ( ! function_exists( 'get_cravatar_url' ) ) {
/**
* 替换Gravatar头像为Cravatar头像
*
* Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
*/
function get_cravatar_url( $url ) {
$sources = array(
// 'gravatar.com',
'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 );
}
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 );
}
Cravatar 当前由 LitePress.cn 提供维护支持,LitePress.cn 诞生的目的是为WordPress 在中国搭建起稳定运行所需的所有基础设施,并使其完全本土化。
你可以选择直接安装LitePress中国本土化WordPress发行版,或通过安装WP-China-Yes插件一键在WordPress上对接LitePress生态体系