现在 Gravatar 在国内几乎是已经被墙的不能用了,特别主题前端有带 gravatar 头像的情况下加载显示头像很慢,要解决头像加载问题但又不想额外安装头像缓存类插件解决;比较喜欢用 loli 家的 cdn,速度比较好,
还有常用的一些前端公共库 https://css.loli.net/ ,只能自己动手将 Gravatar 头像换成从国内的镜像源加载;偶尔发现 v2ex 它提供了 Gravatar 的 CDN 服务,而且是针对国内和国外线路都是有优化的,而且还支持 ssl 访问,强烈推荐。
wordpress 替换掉默认的 gravatar 为 loli 方式 PS:在 functions.php 里加入:
//替换头像为loli cdn地址
function meow_get_ssl_avatar($avatar) {
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://gravatar.loli.net/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'meow_get_ssl_avatar');
将一下代码添加到主题 functions.php 文件的末尾保存,即可实现通过 v2ex 的高速 Gravatar CDN 获取加载头像,解决头像加载延迟导致页面显示缓慢的问题!
// 替换Gravatar为v2ex头像源
function mytheme_get_avatar( $avatar ) {
$avatar = preg_replace("/http:\/\/(www|\d).gravatar.com\/avatar\//","http://cdn.v2ex.com/gravatar/",$avatar);
return $avatar;
}
add_filter('get_avatar', 'mytheme_get_avatar');
确实关于修改方法,百度了一下主要就如下 2 种方法:
1、修改 wordpress 基础程序 wp-includes/pluggable.php 中 get_avatar() 函数的变量$host 的值指向新的加载地址,这是很彻底的从根本解决问题的方法;但是如果 wordpress 程序升级更新后,配置就会被还原!
2、在当前主题模版的函数模版 functions.php 中添加替换函数,然后用 add_filter()的方法调用替换函数将原本 gravatar.com 的加载 url 替换成我们想要的 url 实现;只针对当前的主题模版有效,更换主题后配置失效;wordpress 主程序更新升级不受影响!
上面我们使用的就是第二种方法,简单有效不会更换主题后配置失效。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!