繁体   English   中英

使用在wordpress中设置的$ _SESSION或$ _COOKIE

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM