2013-07-15 27 views
5

喜亚姆新WordPress和我创建了一个插件,在我需要打印data.First我已经创建了插件文件夹文件,并添加如下代码如何让WordPress插件会话变量

function myplugin_classname() { 
    print_r($_SESSION); 
} 
的所有会话

我把一个click事件有两个按钮,tags类像

$('.tags').on('click',function(){ 
    $.post('my_page.php',{val:$(this).val()}); 
}); 

和my_page.php我一直喜欢

$_SESSION['tag'] = $_POST['val']; 

但是当涉及到打印会话变量myplugin_classname(通过刷新页面)它不打印新分配的会话变量 ....如何解决此问题??我已经开始通过theme-my-login登录会话。

+0

你有'在session_start()'?在你的'my_page.php'中 – DevZer0

+0

事实上,如果我把session_start()它会工作,但如果我注销它仍然显示从该页面初始化的会话变量 – Gautam3164

+0

您可能需要调整wp_logout,它可能会取消设置变量比做一个session_destroy() – DevZer0

回答

3

您需要在my_page.php

的开头添加<?php session_start(); ?>之后销毁会话,你可以在WordPress的使用wp_logout行动。代码如下

<?php function custom_unset_session() { 
    // your code 
    unset($_SESSION['tag']); 
} 
add_action('wp_logout', 'custom_unset_session'); 
?> 
+0

其实,如果我把session_start()它会工作,但如果我注销它仍然显示会话变量,从该页面初始化 – Gautam3164

+0

然后取消设置会话变量在注销时。你可以使用下面的代码,并添加这个代码在你的主题functions.php文件。函数custom_unset_session(){ //您的代码 未设置($ _ SESSION ['tag']); } add_action('wp_logout','custom_unset_session'); ?>' –

+0

然后如何取消设置session .. ?? unset($ _ SESSION).. ?? – Gautam3164

2
// On your plugin functions.php 
function register_session() { 
    if (!session_id()) 
     session_start(); 
} 

add_action('init', 'register_session'); 

function your_function() { 
    //Here you can unset your session variabl 
} 

add_action('wp_logout', 'your_function'); 
//Now you can use 
$_SESSION['tag'] = $_POST['val']; 
+0

其实如果我把session_start()它会工作,但如果我注销它仍然显示会话变量,从该页面初始化 – Gautam3164

+0

现在你可以看到我有注销的功能 –