今天在尝试优化 WordPress 打开速度的时候,发现总是有图片是没法加载的。后来才发现 WordPress 默认使用 Gravatar 头像,而 Gravatar 在国内的情况是大家都懂的,经常出现无法加载的情况。Google 一番过后终于找到解决方法,同时也有了此文。
解决思路
Gravatar 无法访问的原因不在于 Gravatar 服务器,是你国功夫网和谐了人家,查证后发现只是污染了 HTTP ,而 HTTPS 仍是存活的,所以解决思路是使用 Gravatar 的 HTTPS 线路,或者使用其他 Gravatar 反代 CDN。
实现方法
源代码来自 http://www.dmeng.net/wordpress-replace-gravatar-host.html ,感谢原作者的无私奉献。
此处我将源代码中的 secure.gravatar.com 替换成由通天塔提供的 Gravatar 反代 CDN
把代码添加到主题目录下的 functions.php 文件最后即可
function lawrence_get_https_avatar($avatar){
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com", "secure.gravatar.com"), "gravatar.loli.net", $avatar);
return $avatar;
}
add_filter('get_avatar', 'lawrence_get_https_avatar');