一、前言
最近 gravatar 头像的服务器中国大陆已经从访问缓慢变成了彻底无法访问了,也导致了缓存到本地头像的方法无法使用,因为无法访问就根本没有办法下载到本地缓存了。所以在网上找了一些解决方法,并进行了整理。
二、设置镜像服务器获取头像
如果你的主题有设置 gravatar 头像镜像地址的地方则不需要,同时某些复杂的主题可能已经对于头像的获取方法有所修改(例如 git 主题),所以此方法可能会无效或者导致主题出现严重问题,请确保在修改前对文件进行过备份。
将下面的代码添加到当前主题函数模板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);
});
通过 add_filter 替换默认的头像服务器地址,可修改其中的:sdn.geekzu.org/avatar/
为其它镜像服务器地址。
本方法可以实现前后台同时使用 Gravatar 头像镜像服务器,代码取自 WP-China-Yes 插件。
其它是网上所提供的 Gravatar 头像镜像服务器地址(可以先用浏览器访问下看看能否正常使用):
sdn.geekzu.org/avatar/
gravatar.loli.net/avatar/
gravatar.wp-china-yes.net/avatar/
gravatar.zeruns.tech/avatar/
cdn.sep.cc/avatar/inwao/
三、对于 git 主题
目前笔者使用的是老版的git 主题 9.3.2 版本
,因为很多东西已经改变了,导致一部分功能已经失效,但是我又懒得更新主题然后重新修改。所以决定自己动手修改 function.php 里面的函数,来保证可以正常的使用 Gravatar 镜像服务器。本人技术有限,使用方法可能不会正确,仅供参考。(本人已对 git 主题作者进行赞助,具体请查看本博客的关于界面,若想要对 git 主题进行修改,请务必先赞助原作者。)
git 主题是可以自己设置镜像服务器的,但是在测试后发现这个功能失效了。在使用 chrome 的开发者工具进行测试后发现,无论我将镜像地址修改到哪里他所使用的地址还都是不变的。他永远会使用secure.gravatar.com
这个地址来获取头像,所以我想可能是地址替换那里出问题了,打开 function.php 后发现旧版的函数确实并没有替换这个地址:
function git_avatar_cache($avatar) {
$avatar = str_replace(array(
"www.gravatar.com",
"0.gravatar.com",
"1.gravatar.com",
"2.gravatar.com"
) , git_get_option('git_avatar_qnurl') , $avatar);
return $avatar;
}
所以做了如下的修改:
function git_avatar_cache($avatar) {
$avatar = str_replace(array(
'www.gravatar.com/avatar/',
'0.gravatar.com/avatar/',
'1.gravatar.com/avatar/',
'2.gravatar.com/avatar/',
'secure.gravatar.com/avatar/',
'cn.gravatar.com/avatar/'
) , git_get_option('git_avatar_qnurl') , $avatar);
return $avatar;
}
修改后保存,再次在高级设置
标签栏里面选择头像镜像【精确】
,并在Gravatar 头像镜像服务器
里面填写镜像地址即可正常使用。
修改记录:
- 2021-10-05:cyclists提供,已将镜像服务器地址中的
gravatar.inwao.com/avatar/
替换成cdn.sep.cc/avatar/inwao
,前者的域名已不再使用。
参考资料:
- https://zmingcx.com/gravatar-wp-china-yes.html
- https://www.ourboke.com/632.html
- https://www.ourboke.com/2227.html
为知笔记版本地址:点击此处跳转