WordPress session 问题

标签 wordpress

我发现了很多关于使用 session 的文章。 据我所知,最好的方法是添加一个 init 操作。 我一直在关注这篇文章 http://devondev.com/2012/02/03/using-the-php-session-in-wordpress/

但我一定遗漏了什么。每次我用我的插件调用页面时,都没有 session 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 ();
}

最佳答案

试试这个并添加到您的主题的 function.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 是您的了,您可以在代码中随意使用:

$_SESSION['myKey'] = "Some data I need later";

if(isset($_SESSION['myKey'])) {
    $value = $_SESSION['myKey'];
} else {
    $value = '';
}

或将其添加到 wp-config.php 之前的 wp-settings(例如 wp-config.php 的顶部)

if (!session_id())
    session_start();

关于WordPress session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9847053/

相关文章:

wordpress - IIS 服务器阻止访问 .webp 文件

php - 基于 Woocommerce 中产品类别的条件自定义结帐字段

php - 学习多个内容管理系统的成本/ yield

php - 在 WordPress 中的自定义选择语句中包含变量

WordPress REST API - 超过 10 篇文章

mysql - 如何在已准备好具有多个联接的数据库上执行之间查询?

html - 尽管目标为 ="_blank",WordPress 在同一窗口中打开链接

javascript - 延迟执行 html 页脚,直到 Javascript 加载

WordPress 帖子分页

wordpress - 重力形式特定字段的自定义验证消息不起作用