为WordPress添加Gravatar头像缓存功能

文章热度: 405 ℃ | 分类: WordPress图文教程

标签:

gravatar-head-cache

发表于: 2012 年 12 月 13 日 | 9 条评论

没有Gravatar头像?请移步《Gravatar终极攻略

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’);

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


除非注明,网站文章均为原创,转载请标明本文地址
本文地址: http://www.wpbus.com.cn/gravatar-head-cache.html





上一篇:
没有了,已经是最新文章

关于小编:爱博客、爱游戏、爱熬夜又爱睡觉。梦想环游世界,现实宅在家中...

新浪微博 | 腾讯微博 | 订阅我们