php会话不工作wordpress

时间:2015-07-01 11:14:08

标签: php wordpress session

在wordpress会话中不起作用。我想在第一次加载网站时加载div。

 <?php session_start();
if(!isset($_SESSION['div_loading']))
{
   $_SESSION['div_loading'] = 1;   
?>
<div class="blockUI blockOverlay" style="z-index: 1000; border: none; margin: 0px; padding: 0px; width: 100%; height: 100%; top: 0px; left: 0px; opacity: 0.8; cursor: wait; position: fixed; background-color: rgb(0, 0, 0);"></div>
<div class="blockUI blockMsg blockPage" style="z-index: 1011; position: fixed; padding: 0px; margin: 0px; width: 806px; top: 25%; left: 19.5%; text-align: center; color: rgb(0, 0, 0); border: 3px solid rgb(170, 170, 170); background-color: rgb(255, 255, 255);">
<div id="brewery-check">
  <h2>Please Select</h2>
  <?php echo $_SESSION['div_loading'] ;
  ?>
  <a href="/#" id="brewery-link"> 
link1  
  </a>
  <a href="http://google.com" id="restaurant-link">
link2
  </a>
</div>
</div>
<?php } ?>

4 个答案:

答案 0 :(得分:1)

请在function.php中添加代码 试试这个:

function Sessioninit() {
    if(!session_id()) {
        session_start();
    }
}

add_action('init', 'Sessioninit', 1);

答案 1 :(得分:0)

您必须使用Cookie而不是会话。在大多数情况下(取决于PHP设置),会话的生命周期有限。

如果您想以正确的方式,可以使用init挂钩并在那里设置您的Cookie数据。您可以将这段代码放在functions.php文件中。

<?php

function sw_31159775() {
    if (!isset($_COOKIE['your_cookie_name'])) {
        $expirity= time() + (10 * 365 * 24 * 60 * 60);
        setcookie('your_cookie_name', 'some value', $expirity);
    }
}

add_action('init', 'sw_31159775');

?>

然后您可以在代码中的任意位置访问$_COOKIE['your_cookie_name']

答案 2 :(得分:0)

你的会话代码对我来说似乎很好,但是你在设置它们之后就可以访问它们了。下面我将展示会议的工作方式

当您打开页面请求的表单服务器时,您将获得phpsessid并使用此ID将数据存储在服务器上,因此您需要获取这些数据..通常您重新加载/生成ajax请求以便您可以获取数据。

json

键值对(哈希表)

所以试试

Session id : data {some data}

答案 3 :(得分:0)

这应该是当前活动主题的functions.php文件中的第一行。

if (!session_id())
    session_start();