如何实现非插件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’); /*头像缓存功能结束*/