打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
wordpress加速优化教程:多种Gravatar头像缓存方案 | v7v3.com

wordpress的站长一定对Gravatar头像不陌生,其实Gravatar头像已经成为了博客、论坛等一种非常流行的通用头像,不管是Wordpress还是Z-Blog、Typecho、Emlog等,留言或者登录注册等都支持Gravatar头像。但是由于Gravatar头像的服务器在美国,由于种种原因会造成Gravatar头像打不开、打开缓慢等情况,从而导致加载了Gravatar头像的网页加载速度变慢,打不开等情况。那么我们为了减小Gravatar头像因素对网站速度的影响,就应该尽量把尽量把Gravatar头像缓存到本地,或者使用国内Gravatar头像的镜像服务器。

首先来说下将Gravatar头像缓存到本地的方法:

一、在网站根目录新建一个名为avatar的文件夹。(权限改为755或777)。

二、新建默认的头像图片,名为default.jpg并放入avatar文件夹中。

三、将以下代码加入到当前使用的主题的functions.php文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function v7v3_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 ) { //头像超过设定时间或不存在则更新
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', 'v7v3_avatar');

使用多说Gravatar镜像服务器加载Gravatar头像


大家应该对多说这款社会化评论插件不陌生,其实多说的头像就是使用Gravatar头像资源的,只不过多说自家有Gravatar头像的镜像服务器,服务器位于国内,而且没有防盗链,那么我们就可以利用多说的Gravatar镜像服务器来加载网站的Gravatar头像了,方法很简单,只要在当前主题的functions.php文件加入以下代码即可:

1
2
3
4
5
6
function v7v3_get_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),
"gravatar.duoshuo.com",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'v7v3_get_avatar', 10, 3 );


使用七牛镜像功能加速gravatar头像

上面小V介绍了使用多说镜像服务器进行Gravatar头像加速的方法,虽然目前多说没有采取任何屏蔽措施,但是人家也不是傻子,用的人多了肯定会封的。所以最安全的方法是使用自己搭建的镜像服务器。接下来小V就教大家如何使用七牛镜像加载Gravatar头像。

一、首先在七牛后台新建一个空间,设置为公开属性,如下图:

二、然后设置镜像服务器,镜像服务器,如下图:

其中Gravatar镜像源可以设置为:

www.gravatar.com

0.gravatar.com

2.gravatar.com

gravatar.duoshuo.com

只要将镜像源设置为以上站点之一即可,小V这里设置的是多说的gravatar镜像服务器。

三、然后在主题的functions.php文件加入以下代码:

1
2
3
4
5
function v7v3_get_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"你创建的七牛镜像站点的域名",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'v7v3_get_avatar', 10, 3 );

请依据以上代码的提示替换掉七牛镜像站点的域名。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
wordpress avatar头像修正插件
wordpress优化:Gravatar头像加载慢的解决方案
wordpress头像的使用方法 | 三十而立
WordPress 如何调整评论框头像大小?
根据用户邮箱显示Gravatar头像 | WordPress大学
WordPress中利用CSS调用作者Gravatar头像 | Tealun Du
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服