php - WP缓存插件阻止cookie被设置
问题描述
我制作了一个简单的 WordPress 插件,它在我自己的服务器上运行良好,但在朋友的实时网站上却不行。
这是一个非常基本的推荐插件,我使用cookie保存推荐人ID,然后user_register
在有人注册后使用挂钩将其保存到数据库中。
这是保存Referrer ID的部分:
function set_referrer_cookie() {
setcookie("referrer_id", $_GET['ref'], time()+3600, "/");
}
add_action('init', 'set_referrer_cookie');
cookie没有设置很多次,一开始我很疑惑,但是经过大量测试,我相信这是由于缓存引起的(他有很多插件,例如Breeze缓存等)
如何确保始终设置 cookie?
有没有办法解决?
编辑:
在浏览器中运行每个 URL 后,插件会在其/breeze/cache/
文件夹中保存一个新的 .php 文件,
我认为这是 PHP 文件的输出,因为其中的echo
值以纯文本形式显示,而且都是 HTML,
因此,Breeze 插件似乎将 PHP 的输出缓存在一个文件中,并将其作为静态 HTML 再次提供,在管理面板中没有排除 set_cookie 的选项......有什么办法可以解决这个问题吗?
解决方案
推荐阅读
- node.js - 如何替换在 docker 容器内运行的 react js 应用程序的品牌资源(徽标、背景图像)
- delphi - 对控件进行分组的非可视组件,以便我可以使用对齐?
- c - 如何教授 Visual Studio Code 关于 __fp16?
- traveling-salesman - 模拟退火 + 2opt 并不比 2opt 好
- python - 将字典列表转换为熊猫中的行
- javascript - 是否可以在嵌入的 Tradingview 小部件上绘制模式(XABCD)?
- aframe - Aframe - 带声音的视频和视频球在 IOS 上不起作用
- javascript - React Native List 进入无限循环
- javascript - 我正在尝试实现 google 自动完成搜索,但面临问题 - Uncaught TypeError: Cannot set property 'predictionsNew' of undefined?
- kubernetes - Kubectl:jsonpath 有效,但自定义列无效