后台看用户等级是 VIP,前台右上角一直显示「普通会员」,退出重登才变,换个浏览器又是旧的。乍看像缓存或者权限的锅,追下去往往不是。

wp cache flush
redis-cli --scan --pattern 'user:*:level' | head

追下去是这么回事:标签渲染进了整页缓存,缓存键只按 URL 生成,没带用户身份。升级动作也没有主动清这块缓存。

「会员标签缓存」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。

同一份配置存在多处的,先确认改的是被加载的那一份。

具体做法是,标签改为动态片段,不进整页缓存;缓存键拼上用户 ID 和等级;升级、降级、注销三处都主动删一次缓存;用同一账号在两个浏览器登录对比显示。

验收就看一点,升级后刷新页面标签立即变成 VIP,两个浏览器显示一致。

作者 9823189