我发现,在尝试类似操作时,我需要清除用户缓存以使重新登录正常工作(经过许多令人沮丧的测试!):
wp_cache_delete($user_id, \'users\');
wp_cache_delete($old_user_login, \'userlogins\'); // maybe unnecessary?
$creds = array(\'user_login\' => $user_login, \'user_password\' => $user_password, \'remember\' => true);
wp_signon($creds);
注意:要做到这一点,您可能还需要用户同时更改其密码,以便您可以填充
$user_password 包含要提供给的纯文本密码的字段
wp_signon