WordPress.org

Make WordPress Core

Ticket #14308: wp_insert_user.error-catch.14308.diff

File wp_insert_user.error-catch.14308.diff, 1.4 KB (added by filosofo, 5 years ago)
  • wp-includes/registration.php

     
    278278        $user_id = wp_insert_user($userdata); 
    279279 
    280280        // Update the cookies if the password changed. 
    281         $current_user = wp_get_current_user(); 
    282         if ( $current_user->id == $ID ) { 
     281        if ( get_current_user_id() == $ID ) { 
    283282                if ( isset($plaintext_pass) ) { 
    284283                        wp_clear_auth_cookie(); 
    285284                        wp_set_auth_cookie($ID); 
    286285                } 
    287286        } 
    288287 
    289         return $user_id; 
     288        return ( is_wp_error( $user_id ) ? 0 : (int) $user_id ); 
    290289} 
    291290 
    292291/** 
     
    309308        $user_pass = $password; 
    310309 
    311310        $userdata = compact('user_login', 'user_email', 'user_pass'); 
    312         return wp_insert_user($userdata); 
     311        $user_id = wp_insert_user($userdata); 
     312        return ( is_wp_error( $user_id ) ? 0 : (int) $user_id ); 
    313313} 
    314314 
    315315 
  • wp-admin/includes/user.php

     
    183183                $user_id = wp_update_user( get_object_vars( $user ) ); 
    184184        } else { 
    185185                $user_id = wp_insert_user( get_object_vars( $user ) ); 
     186                $user_id = is_wp_error( $user_id ) ? 0 : (int) $user_id; 
    186187                wp_new_user_notification( $user_id, isset($_POST['send_password']) ? $pass1 : '' ); 
    187188        } 
    188189        return $user_id;