WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Платформа для конвертации и монетизации трафика
функция не описана

Automattic\WooCommerce\Blocks\StoreApi\Routes

Checkout::update_order_from_request() protected WC 1.0

Update an order using the posted values from the request.

{} Это метод класса: Checkout{}

Хуков нет.

Возвращает

Null. Ничего.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->update_order_from_request( \WC_Order $order, \WP_REST_Request $request );
$order(\WC_Order) (обязательный)
Object to prepare for the response.
$request(\WP_REST_Request) (обязательный)
Full details about the request.

Код Checkout::update_order_from_request() WC 4.7.1

<?php
protected function update_order_from_request( \WC_Order $order, \WP_REST_Request $request ) {
	$schema = $this->get_item_schema();

	if ( isset( $request['billing_address'] ) ) {
		$allowed_billing_values = array_intersect_key( $request['billing_address'], $schema['properties']['billing_address']['properties'] );
		foreach ( $allowed_billing_values as $key => $value ) {
			$order->{"set_billing_$key"}( $value );
		}
	}

	if ( isset( $request['shipping_address'] ) ) {
		$allowed_shipping_values = array_intersect_key( $request['shipping_address'], $schema['properties']['shipping_address']['properties'] );
		foreach ( $allowed_shipping_values as $key => $value ) {
			$order->{"set_shipping_$key"}( $value );
		}
	}

	if ( isset( $request['customer_note'] ) ) {
		$order->set_customer_note( $request['customer_note'] );
	}

	if ( isset( $request['payment_method'] ) ) {
		$order->set_payment_method( $this->get_request_payment_method( $request ) );
	}

	$order->save();
}