你好,我是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
登录启动会话。
您需要在my_page.php 的开头添加<?php session_start(); ?>
之后,为了销毁会话,您可以在wordpress中使用wp_loop操作。代码如下
<?php function custom_unset_session() {
// your code
unset($_SESSION['tag']);
}
add_action('wp_logout', 'custom_unset_session');
?>
// 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'];
这两篇文章也很有帮助:
http://www.frank-verhoeven.com/using-session-in-wordpress/
http://devondev.com/2012/02/03/using-the-php-session-in-wordpress/