加速WordPress:将Gravatar头像缓存到本地
来源: 阅读:860 次 日期:2014-08-18 15:06:11
温馨提示: 小编为您整理了“加速WordPress:将Gravatar头像缓存到本地”,方便广大网友查阅!

什么是Gravatar头像?

Gravatar头像相当于你的QQ头像,代表的就是你在网络的个人形象,所以各种社交程序都不能免除头像的使用,WordPress也不例外。

众所周知,WordPress的Gravatar头像默认会是 “http://1.gravatar.com/avatar/50ad321e53732e7b5a6593c3223fa9b0” 这样的格式, 而国外服务器在天朝显示速度极慢,有时候导致一个页面就因为一个小小的头像,很久才打开完全。更有时候甚至不能打开,一个大红叉叉,很是影响用户体验,以 及网站打开速度。

今天的教程就是,将WordPress的Gravatar头像缓存到本地服务器,加速WordPress运行,如果你也是国内的服务器,这样打开速度就会快很多。

缓存使用前提

确定自己的模板或者主题用的是 WordPress 2.7 以后才有的 wp_list_comments(),如果不清楚,你可以在你的comments.php或者functions.php中搜索试一试,还是不知道就直接跳过。

缓存Gravatar头像 建立缓存目录

在 wp-content 的同级目录建立文件夹:avatar,文件夹权限为:755,如果不行文件夹权限就设置成777, 这是 gravatar头像 缓存的路径。

设置默认头像

制作一张默认头像,也可以直接在wordpress后台》设置》讨论 里copy一张,命名为"default.jpg" ,放在 avatar 文件夹里面。

添加缓存代码

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

OK,收工。刷新几个网页,看看avatar文件夹中是否有缓存内容,如果没有的话,说明缓存失败,该方法不适合你。

更多信息请查看IT技术专栏

更多信息请查看CMS教程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map