我们知道WordPress是一款国外免费的php开源程序,他有着丰富的模板及插件资源, 因此他也是世界上使用最广泛的博客系统之一,因为他的使用广泛,所以国内也有好多使用wordpress建立的网站。
我们知道wordpress的用户头像,是直接调用的gravatar的头像,而gravatar的服务器全放在国外的,这就导致了一个重大问题,由于网络慢而造成头像加载速度很慢,如果网站的用户区评论多,那因为加载的用户头像的问题,就直接托慢网站的速度,这个问题致使国内好多站长头大,随然网上解决办法很多,但都没法彻底解决加载速度的问题。
本网站也是用wordpress建立的,头像加载速度慢的问题,也让我和大多站长一样很头大,后来无意中发现v2ex也是调用的Gravatar头像,但加载速度很快,后来搜索发现这么一个帖子(https://www.v2ex.com/t/141485)看帖子内容,好像是说v2ex搞了个Gravatar缓存服务器,帖子中还介绍了详细的调用方法,我用介绍的调用方法写了个函数利用add_filter函数加载进去,发现速度不错,可以说是我用到的方法中最快的一种,比调用多说服务器要快的多的多,下面是代码,分享给大家,如果会写插件,可以把这个功能已插件的方法加载进去,如果对wordpress的插件开发不太了解,可以直接将以下代码放到当前主题 functions.php 的最后一个 ?> 的前面。
//v2ex国内gravatar头像缓存
function get_ssl_avatar($avatar){
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://cdn.v2ex.com/gravatar/$1?s=$2" class="avatar avatar-$2" height="50px" width="50px">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');
好像不太行啊 加载不出来啊