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

Automattic\WooCommerce\Blocks\StoreApi\Routes

CartSelectShippingRate::get_route_post_response() protected WC 1.0

Handle the request and return a valid response for this endpoint.

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

Хуков нет.

Возвращает

\WP_REST_Response.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_route_post_response( \WP_REST_Request $request );
$request(\WP_REST_Request) (обязательный)
Request object.

Код CartSelectShippingRate::get_route_post_response() WC 4.7.1

<?php
protected function get_route_post_response( \WP_REST_Request $request ) {
	if ( ! wc_shipping_enabled() ) {
		throw new RouteException( 'woocommerce_rest_shipping_disabled', __( 'Shipping is disabled.', 'woocommerce' ), 404 );
	}

	if ( ! isset( $request['package_id'] ) || ! is_numeric( $request['package_id'] ) ) {
		throw new RouteException( 'woocommerce_rest_cart_missing_package_id', __( 'Invalid Package ID.', 'woocommerce' ), 400 );
	}

	$controller = new CartController();
	$cart       = $controller->get_cart_instance();

	if ( $cart->needs_shipping() ) {
		$package_id = absint( $request['package_id'] );
		$rate_id    = wc_clean( wp_unslash( $request['rate_id'] ) );

		try {
			$controller->select_shipping_rate( $package_id, $rate_id );
		} catch ( \WC_Rest_Exception $e ) {
			throw new RouteException( $e->getErrorCode(), $e->getMessage(), $e->getCode() );
		}
	}
	$cart->calculate_shipping();
	$cart->calculate_totals();

	return rest_ensure_response( $this->schema->get_item_response( $cart ) );
}