WordPress 站点 Gravatar 头像不显示的解决方法
最近发现博客评论头像无法显示,不管是前台还是后台都不显示,哪怕是做了 Gravatar 头像本地缓存也不显示,访问 Gravatar 头像官方服务器也打不开,这怎么办?要么自定义头像,要么修改 Gravatar 头像的官方地址为国内的镜像地址,具体操作如下:
最简单的方法是安装 WP-China-Yes 插件解决,进入插件设置页面,在加速 G 家头像设置中勾选“全局启用”,保存配置即可。WP-China-Yes 插件下载
如果不想安装插件,将以下代码添加到使用主题的 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/'
- ], 'sdn.geekzu.org/avatar/', $avatar);
- });
代码取自 wp-china-yes 插件。
本方法可以实现前后台同时使用 gravatar 头像镜像服务器,通过 add_filter 替换默认的头像服务器地址,可修改其中的:sdn.geekzu.org/avatar/,为其它镜像服务器地址。
其它 Gravatar 头像镜像服务器地址:
- sdn.geekzu.org/avatar/
- cdn.v2ex.com/gravatar/
- gravatar.loli.net/avatar/
- gravatar.wp-china-yes.net/avatar/
- gravatar.zeruns.tech/avatar/
- cdn.sep.cc/avatar/
如果你的主题自带有 Gravatar 头像本地缓存功能,使用以上方法后前台的 Gravatar 头像还是无法显示,请找到该缓存头像的代码,将 Gravatar 头像的镜像服务器地址如 secure.gravatar.com/avatar/之类的手动修改为其他镜像服务器地址,然后找到保存缓存头像的文件夹并将其中的所有头像文件删除,刷新访问相应前台站点,头像就可以正常显示了。
cyclists
gravatar头像的节点我更换啦,之前的 gravatar.inwao.com 域名不用了,更改成 cdn.sep.cc/avatar/