我正在尝试在 WordPress 中为网站设置年龄验证框。我使用 jQuery Cookie 在单击按钮时设置 cookie。一旦单击,jQuery 就会隐藏该框,如果已经设置了 cookie,则它不应在后续页面上显示年龄验证框。我在另一个网站上对此进行了测试,该网站可以正常工作,但在当前网站上,它仅在以管理员身份登录时才有效。普通用户会在每个页面上看到该框,即使我已经在 Firebug 中验证了 cookie 已设置。有什么想法吗?
以下是我检查页面上 cookie 的方法:
<?php if( !isset( $_COOKIE['consenting_age'] ) ) { ?>
<div>Age Verification Box Here</div>
<?php } ?>
最佳答案
该问题与 wpengine 实现的缓存有关,请参阅 Cookies and PHP Sessions而不是以下内容
查看您的网站,问题不在于 php 代码,而在于您设置 cookie 值的位置
$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: '.cutlersartisan.wpengine.com' });
您的域名具有 .在前面
尝试
$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: 'cutlersartisan.wpengine.com' });
或完全省略域
$j.cookie('consenting_age', 'yes', { expires: 30, path: '/'});
关于php - 在 WordPress 中设置 cookie 时未返回正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26062827/