[英]Using $_SESSION or $_COOKIE that were set in wordpress
我想知道人们是如何进入我的网站的,因此链接将具有查询字符串“ kw”以标识他们。 传入链接如下所示:
mysite.com?kw=ABC
mysite.com/PAGE?kw=XYZ
mysite.com/blog/post?kw=123
对我来说,问题一直是我无法获得在wordpress中设置的$_SESSION
或$_COOKIE
。 因此,进入mysite.com/blog/(我有wordpress的用户)的用户,请进行以下设置:
if ((isset($_GET['kw']))||(!isset($_COOKIE['kw']))) {
setcookie('kw',$_GET['kw'], time()+3600*24, '/',$_SERVER['HTTP_HOST'],false);
$_SESSION['kw']=$_GET['kw'];
}
因此,应同时设置$_SESSION['kw']
和$_COOKIE['kw']
。 但是,如果我转到网站上的另一个页面,则$_COOKIE
保持不变,并且$_SESSION
开始。 我把session_start();
在我的wp-config.php
。
WordPress是否会对这些内容有所作为,以防止它们与我网站的其余部分共享?
编辑-我注意到,在加载类似mysite.com/blog/post?kw=123之类的URL后,其中未存储“ 123”,如果我将光标放在地址栏中并按回车键,它将存储,我可以在外面访问它。 如果我重新加载页面,则不会。 那是怎么回事?
您可以使用会话,只需在您的functions.php中添加一个函数,然后在模板目录中找到即可。
在这里回答
function ur_theme_start_session()
{
if (!session_id())
session_start();
}
add_action("init", "ur_theme_start_session", 1);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.