大家都知道wp的头像大部分是使用Gravatar全球通头像来关联用户头像的,但是由于Gravatar服务器在国外,受大陆防火墙的影响厉害,经常出现加载缓慢或者加载失败的情况,极大的影响了网站的速度,今天小舞给大家带来wordpress头像缓存的方法,将头像缓存到本地来,提高网站的加载速度!
- 首先在网站的根目录新建一个文件夹,名字为avatar,并给于777权限!
- 然后将wp默认的头像default.jpg放进去!这里有default.jpg的下载地址http://pan.baidu.com/s/1i3JuzNR
- 在当前使用的主题目录下找到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');
然后保存即可!
如何查看我们的头像是否缓存上去了呢,打开网站的根目录,找到刚才我们创建的avatar文件夹,看看里边有没有生成多余的图片,如果有就证明成功了,没有的话大多数是没有给权限!给个777就可以解决了!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)