在wordpress目录下建立文件夹:avatar,文件夹权限为:755,如果不行文件夹权限就设置成777, 这是gravatar头像 缓存的路径。
设置默认头像
制作一张默认头像,也可以直接在wordpress后台》设置》讨论 里copy一张,命名为"default.jpg" ,放在 avatar文件夹里面。实在打不开,我这里就提供一个我在使用的头像
添加缓存代码
将下面的代码复制到模板的 functions.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 = home_url(); // $w = get_bloginfo('url'); $e = preg_replace('/wordpress//', '', ABSPATH) .'avatar/'. $f .'.jpg'; $t = 604800; //设定7天, 单位:秒 if ( empty($default) ) $default = $w. '/avatar/default.jpg'; if ( !is_file($e) || (time() - filemtime($e)) > $t ) //当头像不存在或者文件超过7天才更新 copy(htmlspecialchars_decode($g), $e); else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg')); if (filesize($e) < 500) copy($default, $e); return $avatar; } add_filter('get_avatar', 'my_avatar'); |
搞完上面的东西就OK了.如同本站设置的一样的.
总结:其实Gravatar头像缓存到本地还是非常不错了,自己服务器的东西自己有把握管理与维护了,你看到那个大站把数据放到别人服务器上了呀
时间: 2024-07-29 19:00:30