Gravatar,是全球通用头像服务,服务器在国外,所以 Gravatar 的头像载入会影响网站速度。这时我们就需要把 Gravatar 头像缓存在本地,方法很简单,不需要任何 WordPress 插件,只需在 functions.php 中插入代码即可。

首先,在网站的根目录下创建一个文件夹,名字取为 「avatar」,并右键-属性,设置权限为 「777」,然后进入 WP 后台 – 主题 – 编辑,找到 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』);

最后保存即可,这样网站有头像的地方都会自动替换成本地的缓存头像咯。