Gravatar网站CND(内容分发网络)经常未知原因出现问题(你懂的…),国内无法显示以0.gravatar.com和1.gravatar.com为前缀的头像,而以www.gravatar.com为前缀的却可以,如果你启用了头像缓存插件或主题具备头像缓存功能,空间主机又在国外,不会受到影响,而国内主机则无法实现头像缓存,这一问题严重拖慢了页面打开速度.
可能有人会问,为什么有的站点的Gravatar头像地址是以www.gravatar.com开头,有的却是以0.gravatar.com和1.gravatar.com为前缀呢?
WordPress 从2.5版开始集成了Gravatar头像功能,随着使用Gravatar头像的用户越来越多,为了减轻服务器负担,Gravatar网站采用CDN(内容分发网络),就近从Gravatar网站服务器加载头像,提高页面打开速度。
正因为如此从WordPress 3.0开始,改进源代码适应CDN,提高头像加载速度。默认情况下还在使用老版本WordPress的用户,由于没有启用CDN,所以前缀是www.gravatar.com,直接从主站加载头像,不会受到影响。
下面就说说如何修改WordPress源文件,直接从www.gravatar.com加载Gravatar头像。
打开WordPress程序wp-includes目录中的pluggable.php
在大概第1635行找到:
$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
修改为:
$host = sprintf( "http://www.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
在第1637行找到:
$host = 'http://0.gravatar.com';
修改为:
$host = 'http://www.gravatar.com';
完成保存后覆盖原文件即可.
再打开评论页面查看源文件,头像全部是以www.gravatar.com开头了。
如果认为修改程序文件麻烦,可以安装启用Gravatar fixed插件