我正在创建一个登录,它会弹出一个窗口,接收凭据,并在成功登录时关闭。代码用于插件。
我已经阅读并尝试了user-is-not-logged-in 并且在authenticate-user-guidance. 在弹出窗口中,用户似乎已登录。但是,在主窗口中,没有用户登录。
// $user_name and $user_pass are from the form
$creds = array(
\'user_login\' => $user_name,
\'user_password\' => $user_pass,
\'remember\' => true
);
$user = wp_signon( $creds, false );
if ( is_wp_error( $user ) ) echo $user->get_error_message();
else {
wp_set_current_user($user->ID);
wp_set_auth_cookie($user->ID);
do_action( \'wp_login\', $user_name);
if (!session_id()) {
session_start();
$_SESSION[\'access_token\'] = $secret->access_token;
$_SESSION[\'refresh_token\'] = $secret->refresh_token;
}
//once main window has this user logged, refresh it and close popup
//print \'<script>window.opener.location.reload();window.close();</script>\';
print "$user->user_login : $user->display_name : $user->user_email";
print (is_user_logged_in())? \'IS LOGGED ALL IN\' : \'DOES NOT WORK AT ALL\';
}
此输出
IS LOGGED ALL IN 在弹出窗口中(以及用户信息)。
我错过了什么?