Wordpress是个老牌的博客软件,版本迭代至今,几乎已经是市占率最高的一款建站工具。一直觉得一款软件,它的用户越多,使用就会越人性化,因为用户的使用水平不同,会遇到不同层次的问题,通过收集与筛选用户反馈,更可以有的放矢的去完善软件本身。
成功安装Wordpress之后,最直观的问题就是头像无法正确显示,因为Wordpress用户头像用的是Gravatar的头像,中文互联网环境下该站点(Gravatar.com)无法正常访问,从而导致了头像显示的问题。
虽然也有很多站点提供了平替,但更为稳定的方案,个人觉得还是使用cravatar,这是WordPress本土化计划中生态基础设施的一部分,就和LitePress.cn构建的翻译平台及应用市场一样。
Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。同时,作为对中国互联网环境的特别适配,Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户),这一切是自动进行的,用户对此无感知。其带来的效果是:经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,大约70%的访客都会得到准确的头像。
此外,Cravatar平台还会对所有头像进行人工审核,确保不会出现害群之马。
替换方法
替换方法同样是去修改 functions.php 文件。将以下代码粘贴至主题文件夹内的 functions.php 最下方,就可以正常使用头像功能了。
/*修复Cravatar头像在wordpress上无法显示问题*/
if ( ! function_exists( 'get_cravatar_url' ) ) {
/**
*替换Gravatar头像为Cravatar头像
*
* @param string $url
*
* @return string
*/
function get_cravatar_url( $url ) {
$sources = array(
'www.gravatar.com',
'cn.gravatar.com',
'secure.gravatar.com',
'0.gravatar.com',
'1.gravatar.com',
'2.gravatar.com'
);
return str_replace( $sources, 'cravatar.cn', $url );
}
add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
}
一些遗憾
尽管对于一个站长来说,修改functions.php添加一段语句是基本操作,但如果能在提供官方中文版本的同时给出一个官方可视化方案来更直观的解决头像问题,或许会更有助于用户的使用。