很多使用WordPress建站的朋友都有遇到Gravatar头像无法显示的问题,今天这篇文章记录一下如何解决这个问题。
Cravatar简介
Cravatar 是 Gravatar 在中国的完美替代方案,在此你可以自由的上传和分享头像。
当访客请求自己的头像时,会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ 头像,对于博客站,这平均可以为 70% 的访客提供准确的头像。
Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。
此外,Cravatar平台还会对所有头像进行人工审核,确保不会出现害群之马。
总的来说,Cravatar在100%兼容Gravatar的同时还有以下优势:
- 更快的速度 – 服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度
- 更高的稳定性 – 所有头像经人工审核确保不会出现违规内容,也就不会出现时不时访问不了的情况
- 更高的头像展现率 – 在自有头像库的基础上囊括了Gravatar和QQ的头像库,可谓集天下之大成
Cravatar 当前由 LitePress.cn 提供维护支持,LitePress.cn 诞生的目的是为WordPress 在中国搭建起稳定运行所需的所有基础设施,并使其完全本土化。
解决办法
将以下代码粘贴至主题文件夹内的 functions.php 最下方
代码语言:javascript复制/*修复wordpress上Cravatar头像无法显示问题*/
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 );
}