WordPress Gravatar 打开缓慢的原因及解决方法

我们朋友们在使用WordPress程序建站过程中是不是有时候发现由于WordPress Gravatar加载不出来导致页面打开变慢。这个主要因素在于Gravatar的远程服务器在国外,而且这个服务器的速度很慢,甚至有些地区和有些服务器的网络不畅通导致无法加载。前几天麦子也有在处理JN主题的时候也有看到Gravatar 打开缓慢的问题。

那对于这个问题,我们如何解决呢?在前面的文章中麦子也有介绍过一个办法。

这里,我们处理WordPress Gravatar 打开缓慢,有两个解决办法,一个就是禁止掉这个功能。因为我们有很多的朋友其实是没有开启评论功能的,那我们就将这个功能关闭。

1、WP User Avatars

WP User Avatars

目前这款插件还是可以下载的,虽然有一年没有更新,但是功能还是在的。我们可以下载 WP User Avatars 插件。

图片[2]-WordPress Gravatar 打开缓慢的原因及解决方法-WordPress建站笔记

这样,我们禁止使用到远端服务器的头像。

2、本地化头像

我们如果确实需要用到评论用户头像的,我们其实可以将头像本地化,我们先在WordPress根目录创建一个avatar 的文件夹,权限调整为755。我们给那些没有头像的设置一个默认图片,没有头像就显示这个图片。在avatar文件夹放入一张名称为default.jpg的图片,默认没有头像即使用这个图片。

//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');

然后我们在 Functions.php 添加,我们也可以自己修改默认路径。

这样,我们就可以实现WordPress Gravatar 打开缓慢影响网站速度的问题。

投票 post
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享