Php 使用wordpress中设置的$\会话或$\ COOKIE
我想知道人们是如何进入我的网站的,这样链接就会有一个查询字符串“kw”来识别他们。传入链接如下所示: mysite.com?kw=ABC mysite.com/PAGE?kw=XYZ mysite.com/blog/post?kw=123 我的问题一直是无法获得wordpress中设置的Php 使用wordpress中设置的$\会话或$\ COOKIE,php,wordpress,session,cookies,Php,Wordpress,Session,Cookies,我想知道人们是如何进入我的网站的,这样链接就会有一个查询字符串“kw”来识别他们。传入链接如下所示: mysite.com?kw=ABC mysite.com/PAGE?kw=XYZ mysite.com/blog/post?kw=123 我的问题一直是无法获得wordpress中设置的$\u会话或$\u COOKIE。因此,访问mysite.com/blog/(我有wordpress)的用户,我设置如下: if ((isset($_GET['kw']))||(!isset($_COOKIE['
$\u会话
或$\u 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'];
}
因此,它应该同时设置$\u会话['kw']
和$\u COOKIE['kw']
。但是,如果我转到网站上的另一个页面,$\u COOKIE
将保持未设置状态,$\u会话将重新开始。我把session_start()代码>在mywp config.php
中
wordpress是否对这些内容做了一些处理,以防止它们与我网站的其他部分共享
编辑-我注意到,当我加载一个像mysite.com/blog/post?kw=123这样的URL,其中没有存储“123”之后,如果我将光标放在地址栏中并点击return,它将被存储,我可以在外部访问它。如果我重新加载页面,它将不会。这是怎么回事?U可以使用会话,只需在functions.php中添加一个函数,该函数位于模板目录中
回答
您确定正确调用了session\u start,还是没有修改session\u id?因为$u会话不应该在整个网站上丢弃。在模板目录中,您是指/wp includes还是指主题的functions.php?主题的functions.php
function ur_theme_start_session()
{
if (!session_id())
session_start();
}
add_action("init", "ur_theme_start_session", 1);