WP 优化

WordPress 优化Gravatar本地化保存加速

3个月前 (09-11)   230

WordPress 网站优化,有一个很小的问题,却十分拖慢网站的速度,那就是Gravatar头像,这个东西加载时快时慢,有的时候半天加载不出来,会拖累整个网站的速度,而网上很多加速接口也都失效,今天我们就让Gravatar头像加载后保存在本地,下次直接加载本地缓存,放在自己服务器上才是最稳定高效的。

一、创建缓存目录

在你的WordPress根目录创建一个 avatar 的文件夹,权限调整为755。

二、设置默认头像

并不是所有人都设置了Gravatar头像,我们给那些没有头像的设置一个默认图片,没有头像就显示这个图片。
在 avatar 文件夹放入一张名称为default.jpg的图片,默认没有头像即使用这个图片。

三、将下边的代码放到 functions.php

把下边的代码放到你主题的functions.php内,默认14天刷新一下本地头像缓存,可根据自己自定义。

//Gravatar 头像本地化加速
function my_avatar($avatar) {
$tmp = strpos($avatar, 'http');
$g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
$tmp = strpos($g, 'avatar/') + 7;
$f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
$w = get_bloginfo('wpurl');
$e = ABSPATH .'avatar/'. $f .'.jpg';
$t = 1209600; //14天刷新一次缓存, 单位:秒
if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或文件超过14天才更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
return $avatar;
}
add_filter('get_avatar', 'my_avatar');
还可以进一步美化这个过程,下一章我们来给没有设置Gravatar头像的用户加载随机头像。
大胡子 WordPress 为没有Gravatar头像的用户加载随机头像 啦啦啦,我是勤劳的小蜜蜂,书接上文,我们这一章来为没有Gravatar头像的用户加载随机头像。 没有... 3个月前 (09-11) 252 0
版权声明:Jakehu 发表于 2020-09-11 21:44:26
转载请注明:WordPress 优化Gravatar本地化保存加速︱Jakehu

您可能感兴趣的

暂无评论

暂无评论...