所以我已经谷歌搜索并且自我阅读死亡,并且找不到解决这个问题的方法。WP_Session插件不能正常工作
我正在使用WP Session Manager plugin来使用会话数据。我们需要一个非常具体的社交登录和注册流程。我们在www.domain.com上有一个Wordpress网站(版本4.2.1),我们的网络应用程序位于app.domain.com。现在,如果您在WP网站上登录或注册,则会在应用程序(而非WP网站)上登录/注册。
我正在为此编写一个自定义插件,因为那里的选项没有满足我的需求。
我的问题来访问功能之间的会话数据。我的流程如下(以谷歌为例):
用户点击Google+登录,弹出Google身份验证弹出窗口,用户提供权限,回拨URL为www.domain.com/google_callback
。页面google_callback
有一个称为google_callback
的短代码,然后调用该函数。该功能中的所有功能都能正常工作,并将数据正确地恢复。与所有的谷歌数据处理剥离,该函数是这样的:
// 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
之前,我正确地得到所有的谷歌的数据。
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
,但没有运气。
有谁知道我在做什么错?
你有没有找到任何解决办法?你是如何管理会议的? –