这是我第一次玩cookies,所以如果这个问题是“愚蠢的”,我很抱歉,但我没有在这个网站的其他地方找到答案。
Iv\'e set a cookie using this code in my child theme functions.php file:
<?php
$_fa = \'friend\';
if(!isset($_COOKIE[\'myCookie\'])) {
// set a cookie for 1 year
setcookie(\'myCookie\', $_fa, time()+31556926, "/");
$_COOKIE[\'myCookie\'] = $_fa;
}
}
?>
cookie设置在站点范围内,具有正确的值,我可以通过手动查看cookie来访问chrome中的cookie及其信息。
The problem is:
如果我在登录时浏览网站,则依赖于cookie的功能会平稳运行,如中所示,它们会设法获取cookie名称和值以执行不同的任务。
但是,当我以随机访问者的身份注销并浏览网站时,没有任何功能启动,因为它们根本检测不到cookie名称或值。
I also ran a test to confirm, with this code:
<?php
if(!isset($_COOKIE[\'myCookie\'])) {
echo "Ooops! Cookie not found!";
} else {
echo \'Hello \' . htmlspecialchars($_COOKIE["myCookie"]) . \'!\';
}
?>
This returns:
<哎哟!找不到Cookie当我作为随机访问者浏览时,“未登录”。
And
<你好,朋友当我以WP用户身份登录时进行浏览。
这发生在网站的每个页面以及Chrome、Edge和Firefox中(这些是我测试过的浏览器)
只是为了澄清一下,cookie总是在浏览器中。当我注销或诸如此类的东西时,它不会被删除。只是在我浏览站点时,没有任何函数或语句检测到cookie,而我没有登录。
在我的代码中,是什么造成了这种行为,我可以做些什么来解决这个问题?