我发现了很多关于使用会话的文章。 从我能够找到的最好的方法是添加一个init动作。 我一直在关注这篇文章 http://devondev.com/2012/02/03/using-the-php-session-in-wordpress/
但我必须遗漏一些东西。每次我用我的插件调用页面时都没有会话ID
我错过了什么吗?
感谢您的帮助
add_action('init', 'my_GB_StartSession', 1);
add_action('wp_logout', 'my_GB_myEndSession');
add_action('wp_login', 'my_GB_myEndSession');
if (!function_exists('my_GB_StartSession')) {
function my_GB_StartSession() {
if(!session_id()) {
errorLog("session starting\n");
session_start();
}
}
}
function UnitNet_GB_myEndSession() {
session_destroy ();
}
答案 0 :(得分:0)
试试这个并添加到您的主题功能.php:
add_action('init', 'myStartSession', 1);
add_action('wp_logout', 'myEndSession');
add_action('wp_login', 'myEndSession');
function myStartSession() {
if(!session_id()) {
session_start();
}
}
function myEndSession() {
session_destroy ();
}
现在您的会话可以在您的代码中使用:
$_SESSION['myKey'] = "Some data I need later";
if(isset($_SESSION['myKey'])) {
$value = $_SESSION['myKey'];
} else {
$value = '';
}
或者在wp-settings之前将其添加到wp-config.php(例如wp-config.php的顶部)
if (!session_id())
session_start();