
今天一直到下午都还正常的能显示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呢?不明白