Make WordPress Core

Ticket #41672: 41672-rest-user-conflict-409.patch

File 41672-rest-user-conflict-409.patch, 896 bytes (added by sachinrajcp123, 4 months ago)
  • wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php

    diff --git a/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php b/wp-includes/rest-api/endpoints/class-wp-rest-users-controller.php
    index 6c0c1ab..8c4e2dd 100644
    a b class WP_REST_Users_Controller extends WP_REST_Controller { 
    513513
    514514                $user_id = wp_insert_user( wp_slash( (array) $prepared_user ) );
    515515
    516                 if ( is_wp_error( $user_id ) ) {
    517                         return $user_id;
     516                if ( is_wp_error( $user_id ) ) {
     517                        $error_code = $user_id->get_error_code();
     518
     519                        if ( in_array( $error_code, array( 'existing_user_email', 'existing_user_login' ), true ) ) {
     520                                $user_id->add_data(
     521                                        array( 'status' => 409 ),
     522                                        $error_code
     523                                );
     524                        }
     525
     526                        return $user_id;
    518527                }
    519528
    520529                $user = get_user_by( 'id', $user_id );