WC_Order_Item_Shipping::calculate_taxes()publicWC 3.2.0

Calculate item taxes.

Method of the class: WC_Order_Item_Shipping{}

Return

true|false. True if taxes were calculated.

Usage

$WC_Order_Item_Shipping = new WC_Order_Item_Shipping();
$WC_Order_Item_Shipping->calculate_taxes( $calculate_tax_for );
$calculate_tax_for(array)
Location data to get taxes for. Required.
Default: array()

Changelog

Since 3.2.0 Introduced.

WC_Order_Item_Shipping::calculate_taxes() code WC 8.7.0

public function calculate_taxes( $calculate_tax_for = array() ) {
	if ( ! isset( $calculate_tax_for['country'], $calculate_tax_for['state'], $calculate_tax_for['postcode'], $calculate_tax_for['city'], $calculate_tax_for['tax_class'] ) ) {
		return false;
	}
	if ( wc_tax_enabled() ) {
		$tax_rates = WC_Tax::find_shipping_rates( $calculate_tax_for );
		$taxes     = WC_Tax::calc_tax( $this->get_total(), $tax_rates, false );
		$this->set_taxes( array( 'total' => $taxes ) );
	} else {
		$this->set_taxes( false );
	}

	do_action( 'woocommerce_order_item_shipping_after_calculate_taxes', $this, $calculate_tax_for );

	return true;
}