Gravatar 头像是国外的站点,通常国内访问比较缓慢,同时也拖慢了网页打开速度。解决方法,只需替换一个国内打开速度快的反代地址,
在网上找了几个Gravatar地址:
https://www.gravatar.com/avatar/ 【失效】
https://secure.gravatar.com/avatar/ 【失效】
https://cn.gravatar.com/avatar/ 【失效】
https://en.gravatar.com/avatar/【失效】
七牛云
https://dn-qiniu-avatar.qbox.me/avatar/【缺少图像】
v2ex
https://cdn.v2ex.com/gravatar/【失效】
这两个好像是 t.tt 原持有者烧饼搭建的
https://gravatar.loli.net/avatar/【可用】
https://gravatar.cat.net/avatar/【可用】
极客族
https://sdn.geekzu.org/avatar/ 【可用】
私人自建
https://gravatar.zeruns.tech/avatar/
找到WebStack\OneNAV模板的 \inc\wp-optimization.php。
找到定义gravatar的地方。 将原来的cn.gravatar.com替换成可用的网址即可。
原代码:
if(io_get_option('gravatar') == 'v2ex'){
$url = 'http://cdn.v2ex.com/gravatar/'.$email_hash;
}else{
$url = 'http://cn.gravatar.com/avatar/'.$email_hash;
}
修改成:
if(io_get_option('gravatar') == 'v2ex'){
$url = 'http://cdn.v2ex.com/gravatar/'.$email_hash;
}else{
$url = 'https://sdn.geekzu.org/avatar/'.$email_hash;
}
后台主题设置中使用avatar的选项:
Gravatar加速: 选择使用“Gravatar默认服务器”
注:此代码不严谨, 只是为了可用。
方式二:
直接将以下代码放到当前主题 functions.php 的最后一个 ?> 的前面。
//v2ex国内gravatar头像缓存
function get_ssl_avatar($avatar){
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://sdn.geekzu.org/avatar/$1?s=$2" class="avatar avatar-$2" height="50px" width="50px">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');