Automattic\WooCommerce\StoreApi\Utilities
CartController::get_shipping_packages()
Get shipping packages from the cart with calculated shipping rates.
Метод класса: CartController{}
Хуков нет.
Возвращает
Массив
.
Использование
$CartController = new CartController(); $CartController->get_shipping_packages( $calculate_rates );
- $calculate_rates(true|false)
- Should rates for the packages also be returned.
По умолчанию: true
Код CartController::get_shipping_packages() CartController::get shipping packages WC 9.6.0
public function get_shipping_packages( $calculate_rates = true ) { $cart = $this->get_cart_instance(); // See if we need to calculate anything. if ( ! $cart->needs_shipping() ) { return []; } $packages = $cart->get_shipping_packages(); // Return early if invalid object supplied by the filter or no packages. if ( ! is_array( $packages ) || empty( $packages ) ) { return []; } // Add extra package data to array. $packages = array_map( function ( $key, $package, $index ) { $package['package_id'] = isset( $package['package_id'] ) ? $package['package_id'] : $key; $package['package_name'] = isset( $package['package_name'] ) ? $package['package_name'] : $this->get_package_name( $package, $index ); return $package; }, array_keys( $packages ), $packages, range( 1, count( $packages ) ) ); return $calculate_rates ? wc()->shipping()->calculate_shipping( $packages ) : $packages; }