WC_Cart::get_shipping_packages()publicWC 1.5.4

Get packages to calculate shipping for.

This lets us calculate costs for carts that are shipped to multiple locations.

Shipping methods are responsible for looping through these packages.

By default we pass the cart itself as a package - plugins can change this. through the filter and break it up.

Method of the class: WC_Cart{}

Hooks from the method

Return

Array. of cart items

Usage

$WC_Cart = new WC_Cart();
$WC_Cart->get_shipping_packages();

Changelog

Since 1.5.4 Introduced.

WC_Cart::get_shipping_packages() code WC 8.7.0

public function get_shipping_packages() {
	return apply_filters(
		'woocommerce_cart_shipping_packages',
		array(
			array(
				'contents'        => $this->get_items_needing_shipping(),
				'contents_cost'   => array_sum( wp_list_pluck( $this->get_items_needing_shipping(), 'line_total' ) ),
				'applied_coupons' => $this->get_applied_coupons(),
				'user'            => array(
					'ID' => get_current_user_id(),
				),
				'destination'     => array(
					'country'   => $this->get_customer()->get_shipping_country(),
					'state'     => $this->get_customer()->get_shipping_state(),
					'postcode'  => $this->get_customer()->get_shipping_postcode(),
					'city'      => $this->get_customer()->get_shipping_city(),
					'address'   => $this->get_customer()->get_shipping_address(),
					'address_1' => $this->get_customer()->get_shipping_address(), // Provide both address and address_1 for backwards compatibility.
					'address_2' => $this->get_customer()->get_shipping_address_2(),
				),
				'cart_subtotal'   => $this->get_displayed_subtotal(),
			),
		)
	);
}