W3cubDocs

/WordPress

WP_REST_Controller::update_additional_fields_for_object( object $data_object, WP_REST_Request $request ): true|WP_Error

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

Parameters

$data_objectobjectrequired
Data model like WP_Term or WP_Post.
$requestWP_REST_Requestrequired
Full details about the request.

Return

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

Source

protected function update_additional_fields_for_object( $data_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 ],
			$data_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–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_controller/update_additional_fields_for_object