WordPress的Gravatar头像缓存到本地提升加载速度
使用技巧 2014-12-03 1721 0 评论 admin

这两天我的wordpress主题后台一直加载1.gravatar.com,有些类似于谷歌字体加载,后来找了一下原因,原来是后台一直在加载头像,上面那个是头像的地址,不知道是什么原因最近打不开了,所以一直加载不了。这是一个评论的头像加载地址,在文章中的评论里面头像也丢失了,头像显示的是空白,那是因为无法加载到头像导致的,在有时候在打开文章的时候页面一直载在加0.gravatar.com,这个也是头像的加载地址,也许是因为外国服务器的原因导致加载困难或无法加载,那么如何去解决这个问题呢?下面给大家分享一个WordPress的Gravatar头像缓存到本地提升加载速度的方法。

1、这个方法是将Gravatar的头像图片缓存到本地,这样就不用每次都到Gravatar的服务器上加载。首先在网站的根目录下新建一个avatar文件夹,读写权限设置为755,如图:

WordPress的Gravatar头像缓存到本地提升加载速度

2、在网站使用过程中,有些用户的邮箱可能没有注册到Gravatar头像,那么我们就需要预先设置一个默认的头像,找一张头像图片命名为default.jpg上传到avatar文件夹中。如图:

WordPress的Gravatar头像缓存到本地提升加载速度

3、在函数文件functions.php中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
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的头像缓存到本地服务器了,头像的图片也会显示为本地路径,而不是Gravatar官方路径,这样在访问网站的时候就不会加载0.gravatar.com导致访问速度慢。

继续浏览有关: , , 的文章
版权声明:版权归 wp仿站之家 所有,转载请注明出处!
转载请保留链接: http://www.linw.net/374.html

用心做最好的主题网站wp仿站之家

wp仿站之家是一个专业的wordpress仿站业务网站,提供wordpress主题模板下载以及seo网站优化服务,诚信经营,用心服务每一个客户,让您放心享受我们的优质服务。同时,也欢迎各位建站爱好者加入我们交流建站经验心得。

上一篇: 下一篇:

发表评论