WP_REST_Controller::update_additional_fields_for_object( object $object, WP_REST_Request $request )

Updates the values of additional fields added to a data object.

Parameters

$object

(object) (Required) Data model like WP_Term or WP_Post.

$request

(WP_REST_Request) (Required) Full details about the request.

Return

(true|WP_Error) True on success, WP_Error object if a field cannot be updated.

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-controller.php

protected function update_additional_fields_for_object( $object, $request ) {
		$additional_fields = $this->get_additional_fields();

		foreach ( $additional_fields as $field_name => $field_options ) {
			if ( ! $field_options['update_callback'] ) {
				continue;
			}

			// Don't run the update callbacks if the data wasn't passed in the request.
			if ( ! isset( $request[ $field_name ] ) ) {
				continue;
			}

			$result = call_user_func( $field_options['update_callback'], $request[ $field_name ], $object, $field_name, $request, $this->get_object_type() );

			if ( is_wp_error( $result ) ) {
				return $result;
			}
		}

		return true;
	}

Changelog

Version Description
4.7.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_controller/update_additional_fields_for_object