我在www.example.com上安装了wordpress 我有一个新域名(www.promo-example.com),该域名被重定向到www.example.com/promo(但保留了网址www.promo-example.com)
有一个带有ajax提交表单的登录框,如果登录成功,则使用javascript重定向到页面(www.example.com/only-for-users),该页面仅对登录用户可见。从原始域名,wordpress设置正确的cookie,一切都很好。
但是,从新域名,它不设置任何cookie。因此登录成功,JS获取成功触发器并重定向到该页面,但is_user_logged_in()
返回false并将其发送回单独的登录页面。
有没有办法设置cookie,或者解决这个问题的方法是什么?我看到的是www.promo-example.com上没有设置wordpress cookie,但在原始设置时,它设置了默认设置cookie。
答案 0 :(得分:0)
默认情况下,为当前域设置Cookie,路径设置为/
,因此当网站重定向到您的其他域时,Cookie不适用。这是出于安全原因,因此不会设置cookie。
另一种方法是使用在原始页面上生成的唯一ID,然后将其发布到使用GET或POST选择此内容的新页面。
这样可以确保他们已登录。
例如,您可以通过帖子发送(在您的第一页上):
<form action="http://www.example.com/promo" method="POST">
<input name="logged_in" type="text">
</form>
然后在/promo
页面上,它可以收到:
if (isset($_POST['logged_in'])) {
$is_user_logged_in = true;
}
或类似的东西:)