Feed Feed
关于我
性别:男
出生年月:1984年10月31日
星座:天蝎
血型:貌似是O型
爱好:上网瞎折腾,发呆,睡觉
优点:没发现
缺点:太多,省略5000字
邮箱地址:sham@shamqu.cn
个人主页:http://memory.shamqu.cn
关于我

此方法是Sham从一个插件里接取出来的,这样不需要安装插件,只需要在主题文件functions.php里添加代码就能实现,方法如下:
首先,在网站根目录下新建一个文件夹,取名为avatar,并设置权限成777,这个可以改,不过需要同时在后面的代码中修改相应文件夹名。
然后,把下面代码放入functions.php中:

/* Gavatar 头像缓存 */
function get_cavatar($source) {
$time = 1209600; //The time of cache(seconds)
preg_match('/avatar\/([a-z0-9]+)\?s=(\d+)/',$source,$tmp);
$abs = ABSPATH.'avatar/'.$tmp[1].'.jpg';
$url = get_bloginfo('wpurl').'/avatar/'.$tmp[1].'.jpg';
$default = get_bloginfo('wpurl').'/avatar/'.'default.jpg';
if (!is_file($abs)||(time()-filemtime($abs))>$time){
copy('http://www.gravatar.com/avatar/'.$tmp[1].'?s=64&d='.$default.'&r=G',$abs);
}
if (filesize($abs)<500) { copy($default,$abs); }
return '<img alt="" src="'.$url.'" width="'.$tmp[2].'" height="'.$tmp[2].'" />';
}
add_filter('get_avatar','get_cavatar');

然后保存就好了。这样有头像的地方都会自动替换成本地缓存的图片了。
特此感谢插件wp-gravatar-mini-cache及其作者邪罗刹.Evlos.


也许你会对这些感兴趣
  • 缓存功能有点蛋疼,很多主题也带有这缓存,经常出现缓存空白图片 🙁

  • 收藏,很实的文章

  • 额 关键一点没有说到 avatar文件夹的权限要设置成777

  • 发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注