陈德馨

WordPress非插件实现gravatar头像缓存的方法

667人参与 |分类: 站长百科|时间:2014年01月18日 11:01

对于使用WordPress来建站的朋友来说,头像缓存这个功能还是很重要的,可以把访客头像暂时存储在你的空间上,这样就可以避免因为加载头像而给网站拖速的问题了,我设置的缓存时间是30天,想自己改的话研究下2592000这个数字就好。

使用方法很简单,先在wordpress目录(就是放在和content同级的目录)建立一个avatar文件夹,这个是用来储存头像的地方,然后把下面的代码插入到你的function.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 = 2592000; //設定30天, 單位:秒   
 if ( !is_file($e) || (time() – filemtime($e)) > $t ) { //當頭像不存在或文件超過30天才更新   
 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’);   
/*头像缓存功能结束*/

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。