轻松解决WordPress主题Gravatar头像加载慢的问题
现在 Gravatar 在国内几乎是已经被墙的不能用了,特别主题前端有带 gravatar 头像的情况下加载显…
现在 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 主程序更新升级不受影响!
上面我们使用的就是第二种方法,简单有效不会更换主题后配置失效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!