WordPress教程:Gravatar头像缓存到本地

什么是Gravatar头像?Gravatar头像相当于你的QQ头像,代表的就是你在网络的个人形象

WordPress教程:Gravatar头像缓存到本地

什么是Gravatar头像?
Gravatar头像相当于你的QQ头像,代表的就是你在网络的个人形象,所以各种社交程序都不能免除头像的使用,WordPress也不例外。
众所周知,WordPress的Gravatar头像默认会是 “http://1.gravatar.com/avatar/50ad321e53732e7b5a6593c3223fa9b0” 这样的格式, 而国外服务器在天朝显示速度极慢,有时候导致一个页面就因为一个小小的头像,很久才打开完全。更有时候甚至不能打开,一个大红叉叉,很是影响用户体验,以及网站打开速度。
今天的教程就是,将WordPress的Gravatar头像缓存到本地服务器,加速WordPress运行,如果你也是国内的服务器,这样打开速度就会快很多。
缓存使用前提
确定自己的模板或者主题用的是 WordPress 2.7 以后才有的 wp_list_comments(),如果不清楚,你可以在你的comments.php或者functions.php中搜索试一试,还是不知道就直接跳过。

缓存Gravatar头像
建立缓存目录
在 wp-content 的同级目录建立文件夹: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 = get_bloginfo(\’wpurl\’);
$e = ABSPATH .\’avatar/\’. $f .\’.jpg\’;
$t = 1209600; //設定14天, 單位:秒
if ( !is_file($e) || (time() – filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新
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\’);
OK,收工。刷新几个网页,看看avatar文件夹中是否有缓存内容,如果没有的话,说明缓存失败,该方法不适合你。具体代码来自Willin,如何设置头像请百度,类似教程很多,需要准备上墙工具。

作者: liuzhihao

为您推荐

返回顶部