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

时间:2015-12-04 11:14:23

标签: php wordpress session cookies

我想知道人们如何访问我的网站,因此链接会有一个查询字符串" 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这样的网址后,其中" 123"没有存储,如果我然后将光标放在地址栏并点击返回,它将被存储,我可以在外面访问它。如果我重新加载页面,它就不会了。那是什么?

1 个答案:

答案 0 :(得分:0)

你可以使用session,只需要在你的functions.php中添加一个函数,找到模板目录。

已回答here

function ur_theme_start_session()
{
    if (!session_id())
        session_start();
}
add_action("init", "ur_theme_start_session", 1);