解决Gravatar头像图片不显示问题导致网站访问速度变慢

  1. 网友热度 11,291 ℃ - 8条评论
  2. 标签:,

基本所有的博客网站都采用的Gravatar作为头像存储展示调用的,最近一段时间由于网络延迟问题本身在海外主机中的网站速度就不是很快,尤其是到了网上抽风更为明显。同样的,如果我们博客中使用的Gravatar头像加载默认没有处理的话,也会发现目前Gravatar官方网站基本打不开。如果解决头像调用问题呢?

第一、如果我们还需要使用Gravatar头像

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

在当前WORDPRESS主题中的FUNCTIONS.PHP页面中加入上面的代码,因为HTTP直接访问不了,这里调整为HTTPS的路径地址。

第二、使用本地头像

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;
if ( !is_file($e) || (time() - filemtime($e)) > $t ) {
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文件中,加入上面的代码,把头像缓存本地,同样的使用avatar文件夹作为根目录,可以先放入一个default.jpg作为默认不存在的头像展示图片。

第三、使用第三方评论插件

使用第三方评论插件可以展示头像的,目前不存在调用问题,之前老左也写过一篇"点评四款社会化评论系统",目前使用较多的还是多说和畅言,前者用户体验还可以,就是服务器宕机不稳定。后者基于搜狐提供的,界面一般,但服务器是比较稳定的。

总之,一切影响网站速度的问题都需要解决。

本文固定链接: https://www.laozuo.org/4569.html | 老左笔记


声明:我们不销售主机,选主机需合法使用,信息以实际为准。


关注公众号『站长事儿』

获取更多站长圈的新鲜事儿!
有您,有我,还有大家!

注意:任何主机需定期备份,防止数据丢失。主机需合法使用,信息以实际为准,评测不代表权威。
该日志由 老左 于2014年11月17日发表在 WEB前端 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 解决Gravatar头像图片不显示问题导致网站访问速度变慢