【发布时间】:2019-07-07 23:46:14
【问题描述】:
我希望有人帮助解决如何将在其浏览器中设置了 cookie 的返回用户重定向到 http://google.co.uk。我正在开发一个年龄验证系统,其中一切都在 wordpress 中正常工作,但我一直试图弄清楚的唯一问题是如何将未成年用户重定向到 google.co.uk,直到 cookie 过期。
这是一个过程,当用户访问网站时,系统会提示他们填写出生日期,如果在允许的年龄(18 岁以上)内,欢迎他们访问网站并可以继续浏览网站,但如果年龄不足,我使用 Ajax 和 PHP(PHP 设置 cookie 名称 VAage,其内容低于 18,如下面的屏幕截图所示),而 ajax 处理用户的体验/与表单的交互,而无需重新加载页面。
现在尚未合作的部分是......当用户未满 18 岁并已被重定向到 http://google.co.uk(目前工作正常)并决定立即重新访问该网站或重新访问在 cookie 尚未过期或从他/她的浏览器中删除的情况下,网站应一次又一次地重定向回 google.co.uk(防止他们访问该网站)。
我已尝试将此代码添加到主题的function.php文件,header.php,index.php但不起作用;
function is_user_with_VAage_cookies () {
if ( isset( $_COOKIE['VAage'] ) ) {
header('Location: https://google.co.uk');
exit;
}
}
我也尝试过使用 JavaScript 而不是使用 PHP 的 header() 函数,像这样,
function is_user_with_VAage_cookies () {
if ( isset( $_COOKIE['VAage'] ) ) {
?>
<script type="text/javascript">var win = window.open('https://google.co.uk', '_self');</script>
<?php
}
}
我不确定我做错了什么,或者是否有一个钩子可以完成这项工作。我尝试过像add_action('init', 'is_user_with_VAage_cookies'); 那样挂钩它(如here 所示),但每次我测试年龄验证并尝试在因未满 18 岁而被重定向后返回网站时,它仍然会加载我不知道的网站不想。我希望未成年用户立即被重定向到谷歌,他们尝试再次访问该网站,直到 cookie 过期(设置为 7 天过期)。
提前感谢您的帮助
【问题讨论】:
标签: php wordpress redirect cookies