在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 } ?>
答案 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();