使用WP Super Cache予取予求地刷新指定页面静态缓存

WP Super Cache 是我一直以来都在使用的超级缓存插件,他可以帮我们的网站快捷的打开静态缓存,从而大大提高访问速度,节约服务器资源。本人切身感受,同一台服务器,在所有的 WP 网站都启用静态缓存,并且把图片视频字体等静态资源存入 CDN 后,服务器的利用率可以提高 80%甚至更多。这款插件的设置技巧,搜索引擎上能找到一大堆,本文就不重复了。

本文讨论在某些应用场景下,如何有效地刷新单个页面的缓存。举个例子,一些博客网站有点赞功能,点赞的数据一般我们会作为一个文章自定义字段存储在数据库中,而页面上显示的赞数是在静态缓存页面里的,访客新点了一个赞,数据库里面的那个数字是+1 了,但缓存过的页面并不会刷新这个数字,你按多少次 F5 都没用。

这时候我们就需要手动刷新一下显示这个赞数的页面静态缓存。访客不能进入网站后台,他自己如何刷新页面静态缓存呢?

可以通过以下代码实现:

  1. if (function_exists ('wp_cache_post_change')) {
  2. $GLOBALS["super_cache_enabled"]=1;
  3. //指定id为555的页面
  4. $id = 555;
  5. wp_cache_post_change($id);
  6. //指定网站首页
  7. wp_cache_post_change( get_option('page_on_front') );
  8. }

“wp_cache_post_change”这个函数是 WP Super Cache 所带的,他通过参数$id 来刷新单个页面的静态缓存,可以说指哪打哪。把以上代码加入到执行点赞的那个类库/钩子中去,就可以不动声色地刷新指定页面缓存了。

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress后台开发,无插件增加一键复制文章页面功能

2022-4-8 11:02:33

WordPress教程

作为WordPress建站的开发者为什么坚持尽可能少用插件

2022-4-8 17:02:57

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索