WP_Session插件无法正常工作

时间:2015-05-05 09:09:21

标签: php wordpress session session-variables

所以我用Google搜索并将自己读成死亡,无法找到解决此问题的方法。

我使用WP Session Manager plugin来使用会话数据。我们需要一个非常具体的社交登录和注册流程。我们在www.domain.com上有一个Wordpress网站(版本4.2.1),我们的网络应用程序位于app.domain.com。现在,如果您在WP站点上登录或注册,您将在应用程序(而非WP站点)上登录/注册。

我为此编写了一个自定义插件,因为那里的选项无法满足我的需求。

我的问题在于访问函数之间的会话数据。我的流程如下(以Google为例):

用户点击Google+登录信息,弹出Google身份验证弹出窗口,用户授予权限,回拨网址为www.domain.com/google_callback。页面google_callback有一个名为google_callback的短代码,然后调用该函数。该功能中的所有内容都有效,我可以正确地获取数据。由于剥离了所有Google数据处理功能,该功能如下所示:

// social.php plugin file
function google_callback() {
    $wp_session = WP_Session::get_instance();
    // Get Google data all happens here...
    $user['name']     = $userObj->givenName;
    $user['surname']  = $userObj->familyName;
    $user['email']    = $userObj->email;
    $user['verified'] = $userObj->verifiedEmail;
    $wp_session['registeruser'] = $user;
    $wp_session['registertype'] = 'Google';
    wp_redirect(home_url('social-register'));
}

现在,如果我var_dump($wp_session);之前wp_redirect,我会正确获取所有Google数据。

social-register页面有一个短代码,用于构建表单并使用检索到的数据预先填充表单。这就是这个功能:

// theme functions.php file
function build_registerform($args,$content=null) {
    $wp_session = WP_Session::get_instance();
    var_dump($wp_session);
}

在此var_dump$wp_sessio n为空WP_Session object

我尝试将所有$wp_session = WP_Session::get_instance();更改为global $wp_session但没有运气。

有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

我认为在你的social.php 中你首先必须让$ wp_session全局支持任何功能。因此在包含脚本之后,在social.php的顶部。添加这个

global $wp_session = WP_Session::get_instance();

稍后在google_callback函数中使用

global $wp_session;

同样在你的主题functions.php

function build_registerform($args,$content=null) {
    global $wp_session;
    var_dump($wp_session); //session is empty right now
}

答案 1 :(得分:0)

尝试检查会话管理器插件是否正常工作。

激活您的插件并将此代码添加到functions.php文件

function test_session () {
 global $wp_session;
 $wp_session = WP_Session::get_instance();
}
add_action( 'init', 'test_session' );

然后在header.php文件中添加此代码

<?php
global $wp_session;
$wp_session['test'] = "test";
var_dump($wp_session);
?>
相关问题