修复 WordPress 头像调用 Gravatar 被墙的问题
听说玩 Blog 不用 Gravatar 头像服务貌似有点太 low 了,所以我也打开了 WordPress 的头像功能,但使用中发现 WordPress 默认调用的 Gravatar 服务器都被伟大的防火墙挡在门外了,要解决这个问题无非几个方法,记下来方面以后使用:
一、建立 Gravatar 本地缓存
这个方法通过在本地服务器建立头像的缓存,好处是打开头像的图片放在自己的服务器,不存在延迟;而问题也很明显,使用时间长了服务器的空间和访问压力会增大,我的小小服务器估计撑不住。
二、通过 plusins 解决
在官方插件库(我比较懒,只用官方库的)找了一下,基本都是比较老的,而且貌似都有些兼容性问题。
三、自己动手(个人觉得最好的方法)
经过研究(无非问下 Google)发现 Gravatar 启用了国内服务器:cn.Gravatar.com,所以我想最好的方法应该是自己修改 WordPress 调用 Gravatar 的服务器地址:
1 2 3 4 5 6 |
// Gravatar 头像修正 function mytheme_get_avatar($avatar) { $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"cn.gravatar.com",$avatar); return $avatar; } add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 ); |