WC_Abstract_Order::get_subtotal_to_display( bool $compound = false, string $tax_display = '' )
Gets subtotal – subtotal is shown before discounts, but with localised taxes.
Description Description
Parameters Parameters
- $compound
-
(Optional) (default: false).
Default value: false
- $tax_display
-
(Optional) (default: the tax_display_cart value).
Default value: ''
Return Return
(string)
Source Source
File: includes/abstracts/abstract-wc-order.php
public function get_subtotal_to_display( $compound = false, $tax_display = '' ) {
$tax_display = $tax_display ? $tax_display : get_option( 'woocommerce_tax_display_cart' );
$subtotal = $this->get_cart_subtotal_for_order();
if ( ! $compound ) {
if ( 'incl' === $tax_display ) {
$subtotal_taxes = 0;
foreach ( $this->get_items() as $item ) {
$subtotal_taxes += self::round_line_tax( $item->get_subtotal_tax(), false );
}
$subtotal += wc_round_tax_total( $subtotal_taxes );
}
$subtotal = wc_price( $subtotal, array( 'currency' => $this->get_currency() ) );
if ( 'excl' === $tax_display && $this->get_prices_include_tax() && wc_tax_enabled() ) {
$subtotal .= ' <small class="tax_label">' . WC()->countries->ex_tax_or_vat() . '</small>';
}
} else {
if ( 'incl' === $tax_display ) {
return '';
}
// Add Shipping Costs.
$subtotal += $this->get_shipping_total();
// Remove non-compound taxes.
foreach ( $this->get_taxes() as $tax ) {
if ( $tax->is_compound() ) {
continue;
}
$subtotal = $subtotal + $tax->get_tax_total() + $tax->get_shipping_tax_total();
}
// Remove discounts.
$subtotal = $subtotal - $this->get_total_discount();
$subtotal = wc_price( $subtotal, array( 'currency' => $this->get_currency() ) );
}
return apply_filters( 'woocommerce_order_subtotal_to_display', $subtotal, $compound, $this );
}