闻心阁

一蓑烟雨看苍生,半壶浊酒笑红尘

wordpress笔记之头像缓存

2011-09-25 约 1 分钟读完 搬砖秘籍

wordpress访客头像是wordpress博客中一个不可或缺的元素,好的头像能够给人留下一个很好的印象,比如我的这个小孩子头像现在就成了sailor的象征。不过这次要说的是头像缓存。

为什么要设置头像缓存呢?总所周知的原因,有那么一道墙在阻挡着我们,所以经常看见头像显示的是一个叉叉。我虽然很珍惜自己的那点流量,不过想对于这红叉叉,我更喜欢感觉清爽的博客,于是就给头像添加了缓存。

前提:

确定自己的模板主题文件 comments.php 用的是 WordPress 2.7 以后才有的 wp_list_comments()

开始:

1. 在 wp-content 的同级目录建立文件夹:avatar,权限为:755, 这是准备 gravatar 缓存的路径

2. 把一个50×50的jpg图片改名为:default.jpg,把它存到第1步建立的 gravatar 缓存文件夹 avatar 里面

3.在functions.php中添加一下代码

/* Mini Gavatar Cache by Willin Kan. */
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');
// -- END ----------------------------------------

通过这些也就差不多了,这是来自Willin的方法,这里仅仅是引用一下而已。另外如果来到这里的童鞋没有头像,你可以去以下网站设置。

折腾笔记系列: