最近遇到wordpress的头像在国内一直显示不出来,问题发生在WordPress 3.0 以上,WordPress 的头像服务 Gravatar 的部分服务器在国内访问困难, 原因是 Gravatar 所使用的 edgecast CDN 服务遇到了某些问题. WordPress 3.0 通过读取缓存服务器的方式, 减少了对 www.gravatar.com 的直接请求; 以往直接读取官方服务器. 现在都被分流到 0.gravatar.com, 1.gravatar.com 等缓存服务器上了, 这次遇上 CDN 故障, 所以就出现了无法读取头像的问题.
解决办法一:插件
只需修改 Gavatar 头像的访问方式, 直接请求官方服务器即可. 一些热心网友已经找到问题, 并给出了解决方案. 而现在有更方便的解决办法, 插件. Gravatar Fixed 插件通过函数覆盖的方式, 重新自定义 Gravatar 服务器, 直接访问 www.gravatar.com 读取头像, 以保证正常访问.

插件页面: Gravatar Fixed 头像修正插件
下载链接: gravatar-fixed.zip
解决办法二:代码
“0.gravatar.com”这个网址无法访问了,“www.gravatar.com”这个主页还可以正常访问。那么我们可以修改自己的wordpress,让它从“www.gravatar.com”获取用户的头像解决这个问题:
找到“wp-includes/pluggable.php”文件,找到代码:
if ( is_ssl() ) {
$host = 'https://secure.gravatar.com';
} else {
if ( !empty($email) )
$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
else
$host = 'http://0.gravatar.com';
}
替换为:
if ( is_ssl() ) {
$host = 'https://secure.gravatar.com';
} else {
$host = 'http://www.gravatar.com';
}
本文讨论了WordPress3.0以上版本中Gravatar头像服务在国内访问困难的问题,解释了原因,并提供了两种解决方案:使用GravatarFixed插件或直接修改代码请求官方服务器。
1047

被折叠的 条评论
为什么被折叠?



