起初我有我setcookie()
的:
$school = "Some Value";
setcookie("default_school", $school, time()+3600);
var_dump($_COOKIE);
没用,于是我搜索了一下,发现我可能只是需要设置一个路径,所以我将其更改为:
$school = "Some Value";
setcookie("default_school", $school, time()+3600, "/", ".mydomain.com");
var_dump($_COOKIE);
那仍然没有用,所以我做了更多调查,并确定我的问题一定是我设置 cookie 太晚了。所以我然后开始检查我的标题是否设置在我的代码的某些部分中,需要返回bool(false)
.
var_dump(headers_sent());
首先是 my 的顶部index.php
,然后是 my 的顶部header.php
,但结果仍然相同;他们都返回真实?
我觉得这应该很简单,而且我无处可去。朝着正确的方向推动将受到高度赞赏。
谢谢,艾萨克
编辑:刚刚尝试将它放在 init 钩子之前,它返回 false。然后我把 setcookie 函数放在那里,仍然没有运气。
编辑2:最终添加:
function set_user_cookie() {
$school = "Some Value";
setcookie('default_school', $school, time()+3600);
}
add_action('init', 'set_user_cookie');
现在它完美地工作了。