什么是Gravatar?
Gravatar是Globally Recognized Avatar的缩写,是Gravatar推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持Gravatar的网站上留言时,只要提供你与这个头像关联的email地址,就能够显示出你的Gravatar头像来。
Gravatar的概念是随着WordPress兴起的,很多Wordpress主题都集成了Gravatar服务,但由于目前Gravatar在国内的服务极不稳定,经常无法加载,拖慢网站前后端页面加载速度,影响了Wordpress的正常使用,这也让一些站长对Wordpress产生误解,认为是Wordpress本身慢,其实大多数时候慢的原因都是加载了一些国外的资源,除了Gravatar还可能因为CSS、JS、字体等。好在国内已经有Gravatar服务镜像,在这里感谢这些镜像提供商。
如何切换到国内Gravatar镜像?
只需要将下面的代码放在Wordpress当前使用主题的function.php结尾即可切换到国内镜像,这将有效解决因为Gravatar导致Wordpress前后台加载慢的问题。
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">您可以在 Cravatar 修改您的资料图片</a>';
}
add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}