当前位置:蚂蚁分类目录 » 站长资讯 » 站长运营 » WordPress教程 » 文章详细 订阅RssFeed

如何实现非插件WordPress博客gravatar头像缓存?

来源:互联网 浏览:486次 时间:2021-05-09 22:14:55

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

非插件实现gravatar头像缓存使用方法很简单,先在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’);   
/*头像缓存功能结束*/