我遇到了WordPress会话的问题。我有一个文件'test.php',用于将变量发布到WordPress网站。它具有以下条件:“如果设置了会话变量,则用户可以访问整个WordPress站点,如果未设置会话变量,则用户无法访问该站点”。
当我使用test.php将变量发布到WordPress网站时,主页工作正常,但是当我访问“xyz.com/contact”等内部页面时,我收到错误Not Access
,这意味着会话变量已在下一页清除。
这是test.php文件:
<form action="wordpress-site-link" method="POST">
<input type="submit" name="var" value="go"/>
</form>
在文件themes / theme-name / header.php中,我写了这段代码:
session_start();
if(isset($_SESSION['var'])) {
echo 'Welcome';
} else if(isset($_POST['var'])) {
$_SESSION['var'] = $_POST['var'];
} else {
echo 'No access...';
exit;
}
答案 0 :(得分:6)
只需勾选一个函数&#34; init&#34;在你的functions.php中这样:
function ur_theme_start_session()
{
if (!session_id())
session_start();
}
add_action("init", "ur_theme_start_session", 1);
然后你可以使用你的会话变量。
我希望能帮到你。