Automattic\WooCommerce\StoreApi\Schemas\V1

CartShippingRateSchema::prepare_package_shipping_rates_response()protectedWC 1.0

Prepare an array of rates from a package for the response.

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

Хуков нет.

Возвращает

Массив.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->prepare_package_shipping_rates_response( $package );
$package(массив) (обязательный)
Shipping package complete with rates from WooCommerce.

Код CartShippingRateSchema::prepare_package_shipping_rates_response() WC 8.7.0

protected function prepare_package_shipping_rates_response( $package ) {
	$rates          = $package['rates'];
	$selected_rates = wc()->session->get( 'chosen_shipping_methods', array() );
	$selected_rate  = isset( $selected_rates[ $package['package_id'] ] ) ? $selected_rates[ $package['package_id'] ] : '';

	if ( empty( $selected_rate ) && ! empty( $package['rates'] ) ) {
		$selected_rate = wc_get_chosen_shipping_method_for_package( $package['package_id'], $package );
	}

	$response = [];

	foreach ( $package['rates'] as $rate ) {
		$response[] = $this->get_rate_response( $rate, $selected_rate );
	}

	return $response;
}