由于你懂的原因,Gravatar 在国内的访问极其不稳定,而这项服务又是蓝星上使用范围最广的头像服务,免费且认知度极高。比如咱博客圈WordPress 和 Typecho 等都是使用的 Gravatar 作为头像源
。因此若你的页面上无法正常打开头像,将会导致页面速度加载慢、出错,最终导致页面不完整影响用户体验的情况。
解决方案有很多,比如你可以在 WordPress 后台-讨论
,直接把头像整个关闭——这应该不会是多数人的选择,毕竟若大家来留言头像都不给一个,也太无趣太寡淡了些。
你还可以使用其他的头像服务,如腾讯提供的 QQ/Weixin 头像服务,你甚至可以自建。当然如果还要继续使用 Gravator 的话,就只能替换 Gravatar 的源…你可以自建镜像服务,也可以选择公共头像源,目前来看速度最快且没被屏蔽的有如七牛:https://dn-qiniu-avatar.qbox.me/avatar/
,这也是我最推荐的。
WordPress 如何将 Gravatar 源替换为国内镜像
替换方式之一是将以下代码添加到 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">您可以在 Cravatar 修改您的资料图片</a>';
}
add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}
我是直接改 WordPress 的公共程序文件,找到/wp-includes/link-template.php
,搜索关键词gravatar
,将如下图所示的https://secure.gravatar.com/avatar/
链接替换成https://dn-qiniu-avatar.qbox.me/avatar/
即可。。
#20230821 更新,现在我换成了https://cravatar.cn/avatar/
,似乎 qiniu 的图像已经多年不更新了,换 cravatar 吧~?

[…] 将 Gravatar 头像源替换为国内镜像 […]