所以我已經谷歌搜索並且自我閱讀死亡,並且找不到解決這個問題的方法。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
,但沒有運氣。
有誰知道我在做什麼錯?
你有沒有找到任何解決辦法?你是如何管理會議的? –