我在尝试在wordpress中设置登录系统时遇到了一些麻烦。
我使用来自帖子数据的用户输入来运行wp_sign_on(),它返回用户对象。然后我使用$ user-> ID设置当前用户; 问题是没有任何反应,用户没有登录。(例如,如果我刷新页面或转到另一个页面,我仍然没有登录。)
我试图谷歌这个问题,但没有一个解决方案修复它。我肯定错过了一些东西。代码工作正常但用户实际上并未实际登录...
以下代码:
$username = $_POST['username'];
$password = $_POST['password'];
$creds = array();
$creds['user_login'] = $username;
$creds['user_password'] = $password;
$creds['remember'] = true;
$user = wp_signon( $creds, false );
print_r( $user ); // I can see the user object printed, so it works fine.
$user_id = $user->id; // I get the user ID
if ( is_wp_error($user) )
echo $user->get_error_message();
else
{
wp_set_current_user( $user_id, $user_login );
//The following three lines come from a solution found
online, but it doesn't work
wp_set_auth_cookie( $user_id );
do_action( 'wp_login', $user_login );
wp_redirect( remove_query_arg( 'login' ) );
exit;
}
[...]