Automattic\WooCommerce\Internal\RestApi\Routes\V4\Customers

UpdateUtils::update_additional_fields_for_objectprivateWC 1.0

Update additional fields for object.

Метод класса: UpdateUtils{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->update_additional_fields_for_object( $item, $request ): void;
$item(разное) (обязательный)
Object to update.
$request(WP_REST_Request) (обязательный)
Request object.

Код UpdateUtils::update_additional_fields_for_object() WC 10.5.2

private function update_additional_fields_for_object( $item, WP_REST_Request $request ): void {
	$additional_fields = $this->get_additional_fields();

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

		if ( ! isset( $request[ $field_name ] ) ) {
			continue;
		}

		$result = call_user_func( $field_options['update_callback'], $request[ $field_name ], $item, $field_name, $request );

		if ( is_wp_error( $result ) ) {
			throw new WC_REST_Exception( 'woocommerce_rest_cannot_update', esc_html( $result->get_error_message() ), 400 );
		}
	}
}