今天一直到下午都还正常的能显示Gravatar头像的,大约下午5点多的时候,我打开博客的时候发现示Gravatar头像全部无法显示,感觉有点奇怪,之前还好好的,突然就全部打不开了。
我又打开几个好友的WordPress,发现有的能正常显示,有的不能。然后我就对比了下发现,头像图片的地址不同,前面是 http://0.gravatar.com/ (有些朋友的是http://1.gravatar.com/)的图片无法打开,而是 http://www.gravatar.com/ 则打开了。 看来是http://0(1).gravatar.com/ 出了异常了。
开始我以为是主题控制Gravatar头像的,然后去主题中找,竟然没有找到,奇怪了,于是换了个主题,还是无法打开,连后台的近期评论的Gravatar头像也无法打开,于是我想应该是程序的问题了。
打开我一个用的WordPress 2.92的站,进后台发现能显示头像的,而3.01竟然不行。然后我就进一步发掘,终于找到了问题的所在。
wp版本:3.0或3.01
在wp-includes文件夹下 pluggable.php 文件,大约1645行。将下面的代码
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';
就能正常显示Gravatar头像了。
好了如果你用的是3.0之前的版本,或者本地缓存了Gravatar头像的,就请路过吧。
0(1).gravatar.com的看来还是没有www.gravatar.com的稳定啊,不晓得为什么3.0以上版本会用0.gravatar.com呢?不明白
这方法好像失效了
@破折君这个是很老的版本了,新版的修改方法 百度一搜很多的。
到现在也没搞明白为啥子有的是0的链接,有的是1的链接~
我的改了之后 怎么都不显示了呀