WordPress知更鸟begin主题本地缓存gravatar评论头像

WordPress知更鸟begin主题本地缓存gravatar评论头像

本地缓存gravatar评论头像,可以加快网页打开速度,避免评论头像图裂!

1、建立缓存目录

在wp-content 的同級目录建立一个文件夹,命名为 avatar ,设置该文件夹的权限为 0755 (如果 0755 不行,就试一下 0777)。

2、设置默认头像

准备一张大小适合的默认头像,命名为”default.jpg” ,放在 avatar 文件夹里面。

3、添加缓存代码

将下面的代码复制到模板的 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');