辛辛苦苦,我的wordpress网站建设好了,但是现在头像却无法显示,郁闷!!
相信使用wordpress建站的伙伴都遇到过这个问题。WordPress使用的头像是Gravatar提供,Gravatar是WordPress母公司Automattic推出的一个公共头像服务,也是WordPress默认的头像服务。2021年2月,国内互联网屏蔽了Gravatar,造成国内WordPress站点的评论头像无法正常加载。
在以往的时候,国内的CDN厂商和博客主会使用反代的方式确保Gravatar在国内能正常访问,但老实说,这种方式很容易就会吃牢饭。同时反代也只能解决头像访问的问题,而解决不了头像上传的问题。如何解决 Gravatar 头像无法访问的问题,对于很多新手站长来说是个头疼的问题!
没有解决不了的问题,我们使用中国 Cravatar 来彻底解决 Gravatar 头像无法访问的问题。
Cravatar是WordPress本土化计划中生态基础设施的一部分,就和LitePress.cn构建的翻译平台及应用市场一样。Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。同时,作为对中国互联网环境的特别适配,Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户),这一切是自动进行的,用户对此无感知。其带来的效果是:经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,大约70%的访客都会得到准确的头像。
优势:
- 更快的速度 – 服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度
- 更高的稳定性 – 所有头像经人工审核确保不会出现违规内容,也就不会出现时不时访问不了的情况
- 更高的头像展现率 – 在自有头像库的基础上囊括了Gravatar和QQ的头像库,可谓集天下之大成
使用方法
Cravatar的使用有多种方式,咱们介绍使用WP-China-Yes 插件。可以网络寻找资源自行下载,之后上传到WordPress进行插件安装和使用。
如果你没有使用 WP-China-Yes 插件,你可以将以下代码加入你的主题的functions.php文件或您的插件中即可启用(任何开发者都可以将该服务集成到自己的产品里,无需事先通知):
if ( ! function_exists( 'get_cravatar_url' ) ) {
/**
*替换Gravatar头像为Cravatar头像
*
* @param string $url
*
* @return string
*/
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 );
}
替换默认头像设置的Gravatar名称
添加上面的代码以后,我们在 设置 – 讨论 界面的头像选择这里,仍然显示 Gravatar名称,使用下面的代码即可替换:
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头像,则可以参考开发文档:https://cravatar.cn/developers
如何上传自己的头像
在Cravatar官网:https://cravatar.cn 注册账号(与litepress.cn账号互通)即可添加和更换头像,头像修改后会在5分钟内刷新缓存并生效。