wordpress页面提速之Gravatar头像

虫子君
虫子君
虫子君
726
文章
278
评论
2019年4月17日10:13:34 11 3,292 3179字阅读10分35秒

今年的第一篇正儿八经的博客,最近呢,网站刚刚上线,所以很多地方都存在不足之处,虫子君也是一直用越的整改中,今年升级了服务器的配置,然后也大肆的优化了一番服务器,期间遇到许多问题也感谢知更鸟群友的踊跃回答,这里特别需要感谢的是狼哥,给与了一个非常的nice的缓存方案。敬礼!!!

折腾好了服务器之后,遇到的各种各样的问题,总算是得到了一定的解决,不过还是有一些零碎的问题,就好比“Gravatar头像”虫子君以前也是不怎么的在乎网页上面的某一个文件的报404的错误,不过最近折腾服务器还是给了一些灵感,我觉得这个问题有必要解决。

在网上找了一些资料其中解决方案有许多,虫子君总结下来后,发现其中三个方案还是非常的不错的,至于是否合适您,这个就是需要您自己考量的一件事情。

方案1:禁止WordPress加载头像

wordpress页面提速之Gravatar头像

路径:WordPress后台——设置——讨论

这个方案有一点不好,就是一旦禁用头像功能之后,后台的所有头像都不会加载,前台也不会有头像输出,如果您需要尽心的写文章的话,这个方案无疑是非常的适合您的。

方案2:修改WordPress程序文件替换实现本地头像

修改get_avatar函数,在wp-includes/pluggable.PHP内。修改后的函数如下:

if ( !function_exists( 'get_avatar' ) ) :
/**
* Retrieve the avatar for a user who provided a user ID or email address.
*
* @since 2.5
* @param int|string|object $id_or_email A user ID, email address, or comment object
* @param int $size Size of the avatar image
* @param string $default URL to a default image to use if no avatar is available
* @param string $alt Alternate text to use in image tag. Defaults to blank
* @return string tag for the user's avatar
*/
function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
if ( ! get_option('show_avatars') )
return false;
   
if ( false === $alt)
$safe_alt = '';
else
$safe_alt = esc_attr( $alt );
   
if ( !is_numeric($size) )
$size = '96';
$default = includes_url('wp-content/uploads/blank.gif');
$avatar = "";
   
return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
   
}
endif;

即使用该函数,仅可能返回一个默认头像(位于wp-includes/wp-content/uploads/blank.gif内),再配合simple local avatars或Add Local Avatar插件,就实现了预期的效果(以上方案2内容来自“永仔”这里表示感谢)

方案3:调用SSL Gravatar头像

虽然Gravatar头像http线路,已经逐渐的回暖,不过访问速度始终不如人意,不过HTTPS线路的Gravatar头像速度还是蛮快的(不过虫子君的就不知道为啥无法加载,可能是使用了国内的cdn缘故。)不过总体上ssl线路还行,如果你的网站已经上了ssl 那么也就不需要在再操作。

可以在的主题文件“functions.php”添加上这一段代码

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

这个方案虫子君没有测试,所以结果未知!(以上代码来自“歉信君”)

方案4:使用nix-gravatar-cache Gravatar头像缓存插件

nix-gravatar-cache是一个非常不错的Gravatar头像缓存插件,这个插件是由“知更鸟”汉化,非常感谢。

插件的安装非常的简单,只需要将这个插件安装到您的WordPress的后台,就能够自动缓存Gravatar头像,经过虫子君的测试,该插件能够实现Gravatar头像加速,而且效果非常的明显。

有强迫症患者的,不妨自己试试。wordpress页面提速之Gravatar头像

防止采集文章,插件压缩包邮压缩密码,压缩密码索取请回复本文刷新本页即可看到。

方案5:代码实现缓存不同大小的 Gravatar 头像

关于 WordPress 缓存 Gravatar 头像到本地,提升网站加载速度的文章已经到处都是,但是之前的一些 WordPress 头像缓存解决方案都是只能缓存一个大小的头像,而子凡这里就将一个升级版给大家分享一下,这也是子凡在做 Fanly 主题中用到的一个功能,毕竟在 WordPress 博客中,很多时候我们不仅仅只是使用一种头像大小,如果网站调用了多个尺寸的头像可能调用大头像的时候会不清晰。

改善功能:支持不同大小的头像;支持自动创建缓存目录。

//缓存 Gravatar 头像
add_filter('get_avatar', 'fanly_cache_avatar');
function fanly_cache_avatar($avatar) {
	if(!is_dir('avatar'))//判断是否有缓存目录
		mkdir('avatar', 0755, true);//否者创建头像缓存目录
	$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 = home_url();
	list($width,$height,$type,$attr) = getwp-content/uploadsize($g);//获取头像参数
	$e = ABSPATH .'avatar/'. $f .'-'.$width.'.jpg';
	$t = 604800; //设定 7 天, 单位:秒
	if ( empty($default) ) $default = 'https://i.leiue.com/avatar.php';
	if ( !is_file($e) || (time() - filemtime($e)) > $t ){ //当头像不存在或者文件超过 7 天才更新
		copy(htmlspecialchars_decode($g), $e);
	}else{
		$avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'-'.$width.'.jpg'));
	}
	if (filesize($e) < 500) copy($default, $e);
	return $avatar;
}

方案五虫子君没有测试,所以结果未知,代码为大神子凡原创,以上代码内容为子凡原创(这里表示感谢!雪泪博客

下载信息 插件名称:nix-gravatar-cache 应用平台:WordPress 插件版本:不升级版 插件大小:7KB
网盘密码:登录可见
下载地址
  • 欢迎来“给我投稿”网友会因为你的帮助而感激。
  • 文章链接:https://chonzi.com/7416.html
WordPress 5.4已经更新 快下载更新 热点新闻

WordPress 5.4已经更新 快下载更新

在今天2020年4月1日WordPress官网已经正式更新了WordPress 5.4版,其中更新了许多功能,当然其中最主要的依旧是古腾堡编辑器的改进更新,新的版本古腾堡编辑器将会更加的好用易用。在功...
Nginx 配置WordPress标签重定向至指定页面 服务器运维

Nginx 配置WordPress标签重定向至指定页面

最近找鸟叔更新了begin主题,又遭受到一次升级快乐,折腾网站这件事情我一直都对此乐此不疲的玩着,今天突发奇想,begin主题的专题功能这么强大,如果将标签页重定向到指定的专题页,那会是一件多好玩的事...

您必须才能发表评论!

评论:11   其中:访客  9   博主  2
    • 佛系软件 佛系软件 1

      本地上传头像怎么设置啊本地上传头像怎么设置啊

      • 张三 张三 0

        很感谢博主

        • 568542 568542 1

          听说这里有宝藏