WP_REST_Users_Controller::prepare_item_for_database PHP Method

prepare_item_for_database() protected method

Prepares a single user for creation or update.
Since: 4.7.0
protected prepare_item_for_database ( WP_REST_Request $request ) : object
$request WP_REST_Request Request object.
return object $prepared_user User object.
    protected function prepare_item_for_database($request)
    {
        $prepared_user = new stdClass();
        $schema = $this->get_item_schema();
        // required arguments.
        if (isset($request['email']) && !empty($schema['properties']['email'])) {
            $prepared_user->user_email = $request['email'];
        }
        if (isset($request['username']) && !empty($schema['properties']['username'])) {
            $prepared_user->user_login = $request['username'];
        }
        if (isset($request['password']) && !empty($schema['properties']['password'])) {
            $prepared_user->user_pass = $request['password'];
        }
        // optional arguments.
        if (isset($request['id'])) {
            $prepared_user->ID = absint($request['id']);
        }
        if (isset($request['name']) && !empty($schema['properties']['name'])) {
            $prepared_user->display_name = $request['name'];
        }
        if (isset($request['first_name']) && !empty($schema['properties']['first_name'])) {
            $prepared_user->first_name = $request['first_name'];
        }
        if (isset($request['last_name']) && !empty($schema['properties']['last_name'])) {
            $prepared_user->last_name = $request['last_name'];
        }
        if (isset($request['nickname']) && !empty($schema['properties']['nickname'])) {
            $prepared_user->nickname = $request['nickname'];
        }
        if (isset($request['slug']) && !empty($schema['properties']['slug'])) {
            $prepared_user->user_nicename = $request['slug'];
        }
        if (isset($request['description']) && !empty($schema['properties']['description'])) {
            $prepared_user->description = $request['description'];
        }
        if (isset($request['url']) && !empty($schema['properties']['url'])) {
            $prepared_user->user_url = $request['url'];
        }
        if (isset($request['locale']) && !empty($schema['properties']['locale'])) {
            $prepared_user->locale = $request['locale'];
        }
        // setting roles will be handled outside of this function.
        if (isset($request['roles'])) {
            $prepared_user->role = false;
        }
        /**
         * Filters user data before insertion via the REST API.
         *
         * @since 4.7.0
         *
         * @param object          $prepared_user User object.
         * @param WP_REST_Request $request       Request object.
         */
        return apply_filters('rest_pre_insert_user', $prepared_user, $request);
    }