如何在wordpress插件中获取会话变量

时间:2013-07-15 12:24:09

标签: php wordpress

嗨,我刚接触wordpress,我创建了一个插件,我需要打印所有会话数据。首先,我在插件文件夹中创建了一个文件并添加了像

这样的代码
function myplugin_classname() {
    print_r($_SESSION);
}

我为点击tags的按钮设置了一个点击事件,如

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

并且在my_page.php中我一直保持

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

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

3 个答案:

答案 0 :(得分: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');
?>

答案 1 :(得分: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'];

答案 2 :(得分:0)