通常这有效:
第1页
<? session_start();
$_SESSION['note'] = "hello";
?>
第2页
<? session_start();
echo $_SESSION['note'];
?>
导航到第1页以启动会话并加载变量 . 导航到第2页,变量处于活动状态 . 简单 .
现在我来到WordPress .
WordPress在特定文件夹中有一个“主题”,具有自己的页眉和页脚 . 可以这么说'模板' .
要创建页面,请登录管理部分,单击“添加页面”,然后会出现一个空白屏幕 . 如果您没有输入任何内容,并且“发布”,您将看到的是页眉和页脚 .
这意味着,任何特定于页面的PHP编码都会输入到空白文本框中,该文本框在显示时会夹在默认的“主题”页眉和页脚之间 .
所以,在本节中我输入第1页(与上面相同):
<? session_start();
$_SESSION['note'] = "hello";
?>
然后第2页(与上面相同):
<? session_start();
echo $_SESSION['note'];
?>
结果?没有 .
所以这就是我的尝试:
安装一个名为WP sessions manager的wp插件 .
安装插件后,尝试上面的代码,这不起作用,我尝试了这个语法p1:
<? $wp_session = WP_Session::get_instance();
$wp_session['note'] = "hello";
?>
而这个p2
<? $wp_session = WP_Session::get_instance();
$wp_session['note'] = "hello";
?>
结果?依然没有 .
我尝试将相同的代码放在主题的索引和 Headers 页的顶部,在主题文件夹和主文件夹中,但没有任何作用 .
由于会话在独立的php页面上工作正常,与wordpress有关的事情是阻止会话,使其无法工作,我试图找出原因并修复它 .
1 回答
使用:
现在,你的主题应该做的第一件事是
session_start()
. 把它放在header.php的顶部或index.php的顶部 . 在使用之后:如果这不起作用,您可能会遇到主题问题 .
检查你的主题,看看会话是否在某处被破坏 . 搜索
session_destroy()
.