近段时间Gravatar头像不管是在WordPress站点前台还是后台都不显示,哪怕是做了Gravatar头像本地缓存也不显示,据了解是因为无法访问Gravatar头像官方服务器所致,解决办法可以考虑将Gravatar头像改为字母头像或修改Gravatar头像的官方地址为国内的镜像地址,具体操作如下:
方法一:安装WP-China-Yes插件
这是最简单的方法,只需要在WordPress后台安装WP-China-Yes插件并启用,然后在该插件设置页面中的“加速G家头像”中选择“全局启用”后点击【保存配置】按钮即可。
方法二:纯代码实现
将以下代码添加到当前主题的functions.php文件中即可:
add_filter('get_avatar', function ($avatar) {
return str_replace([
'www.gravatar.com/avatar/',
'0.gravatar.com/avatar/',
'1.gravatar.com/avatar/',
'2.gravatar.com/avatar/',
'secure.gravatar.com/avatar/',
'cn.gravatar.com/avatar/'
], 'cravatar.cn/avatar/', $avatar);
});
代码取自wp-china-yes插件
通过add_filter替换默认的头像服务器地址,可修改其中的:cdn.v2ex.com/gravatar/为其它镜像服务器地址:
sdn.geekzu.org/avatar/
cdn.v2ex.com/gravatar/
gravatar.loli.net/avatar/
cdn.v2ex.com/gravatar/
gravatar.zeruns.tech/avatar/
cdn.sep.cc/avatar/
另外
如果你的主题自带有Gravatar头像本地缓存功能,使用以上方法后前台的Gravatar头像还是无法显示,请找到该缓存头像的代码,将Gravatar头像的官方地址如secure.gravatar.com/avatar/之类的手动修改为方法二中所提供的镜像地址,然后找到保存缓存头像的文件夹并将其中的所有头像文件删除,最后访问相应前台页面即可看到头像正常显示了。