直接从www.gravatar.com主站加载头像

近日,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
在第1649行找到:
$host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
修改为:
$host = sprintf( "http://www.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
在第1651行找到:
$host = 'http://0.gravatar.com';
修改为:
$host = 'http://www.gravatar.com';
完成保存后覆盖原文件即可。
再打开评论页面查看源文件,头像全部是以www.gravatar.com开头了。