那个让我晚上睡不着觉。
问题是用户已正确登录,但在页面刷新后,应立即登录,而无需重新加载页面。需要一双新鲜的眼睛来观察它。
正确设置cookie和nonce似乎有问题,但不确定如何调试。
非常感谢您的建议。
function my_update_cookie($logged_in_cookie)
{
$_COOKIE[LOGGED_IN_COOKIE] = $logged_in_cookie;
}
add_action(\'set_logged_in_cookie\', \'my_update_cookie\');
add_action(\'wp_ajax_create_user\', \'im_ajax_create_user\');
add_action(\'wp_ajax_nopriv_create_user\', \'im_ajax_create_user\');
function im_ajax_create_user()
{
global $wpdb;
$username = $_POST[\'username\'];
$usernameID = $_POST[\'userId\'];
$user_data = [
\'user_login\' => $username,
\'user_email\' => $username,
\'user_pass\' => $usernameID,
\'role\' => \'subscriber\',
];
$user_id = wp_insert_user($user_data);
if (isset($user_id->errors[\'existing_user_login\'])) {
$user = get_user_by(\'login\', $username);
$user_id = $user->data->ID;
}
do_action(\'set_logged_in_cookie\');
wp_set_auth_cookie($user_id, false, true);
wp_set_current_user($user_id);
wp_get_current_user();
}