WC_Cart::get_product_subtotal PHP Method

get_product_subtotal() public method

Gets the tax etc to avoid rounding issues. When on the checkout (review order), this will get the subtotal based on the customer's tax rate rather than the base rate.
public get_product_subtotal ( WC_Product $product, integer $quantity ) : string
$product WC_Product
$quantity integer
return string formatted price
    public function get_product_subtotal($product, $quantity)
    {
        $price = $product->get_price();
        $taxable = $product->is_taxable();
        // Taxable
        if ($taxable) {
            if ('excl' === $this->tax_display_cart) {
                $row_price = wc_get_price_excluding_tax($product, array('qty' => $quantity));
                $product_subtotal = wc_price($row_price);
                if ($this->prices_include_tax && $this->tax_total > 0) {
                    $product_subtotal .= ' <small class="tax_label">' . WC()->countries->ex_tax_or_vat() . '</small>';
                }
            } else {
                $row_price = wc_get_price_including_tax($product, array('qty' => $quantity));
                $product_subtotal = wc_price($row_price);
                if (!$this->prices_include_tax && $this->tax_total > 0) {
                    $product_subtotal .= ' <small class="tax_label">' . WC()->countries->inc_tax_or_vat() . '</small>';
                }
            }
            // Non-taxable
        } else {
            $row_price = $price * $quantity;
            $product_subtotal = wc_price($row_price);
        }
        return apply_filters('woocommerce_cart_product_subtotal', $product_subtotal, $product, $quantity, $this);
    }
WC_Cart