5

嗨,我是 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登录启动了会话。

4

3 回答 3

3

您需要<?php session_start(); ?>在 my_page.php 的开头添加

之后为了销毁会话,您可以在 wordpress 中使用 wp_logout 操作。代码如下

<?php function custom_unset_session() {
   // your code 
   unset($_SESSION['tag']);
} 
add_action('wp_logout', 'custom_unset_session');
?>
于 2013-07-15T12:29:32.227 回答
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'];
于 2013-07-15T12:29:08.147 回答
0

这两篇文章也很有帮助:

http://www.frank-verhoeven.com/using-session-in-wordpress/

http://devondev.com/2012/02/03/using-the-php-session-in-wordpress/

于 2013-10-02T15:54:23.333 回答