前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress 免插件仅代码实现 Gravatar 头像缓存

WordPress 免插件仅代码实现 Gravatar 头像缓存

作者头像
Jeff
发布2018-01-19 11:30:59
7900
发布2018-01-19 11:30:59
举报
文章被收录于专栏:DeveWorkDeveWork

如果你还不知道是神马东东,请先往《设置你的Gravatar头像的方法》一文了解相关资料。因为我大中华局域网的原因, Gravatar 头像所托管的网站有时候会挂掉,就算不挂速度也很慢。所以,有必要在自己的服务器端来缓存 Gravatar 头像。下面的代码来自于Willin Kan

WordPress免插件仅代码实现Gravatar头像缓存的方法

一、将下面的代码丢入主题的funtions.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');

上面的时间默认是14天,你可以自己修改,注意要化成秒数。

二、在WordPress安装根目(即跟wp-content等文件夹同一目录下)下新建一个名为 avatar 的文件夹 ,设置该文件夹的权限为 0755 (如果 0755 不行,就试一下 0777)。放入一张同尺寸的头像图片命名为default.jpg。

搞定上面的之后,你会发现第一次的时候头像还是Gravatar服务器的地址,但是第二次就会变为httP://你的域名/avatar/xxxxxx.jpg 的形式。xxxx就表示邮箱地址的md5转码地址(具体我也不懂)。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013/04/14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WordPress免插件仅代码实现Gravatar头像缓存的方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档