WC_Order::get_formatted_order_total PHP Method

get_formatted_order_total() public method

Gets order total - formatted for display.
public get_formatted_order_total ( string $tax_display = '', boolean $display_refunded = true ) : string
$tax_display string Type of tax display.
$display_refunded boolean If should include refunded value.
return string
    public function get_formatted_order_total($tax_display = '', $display_refunded = true)
    {
        $formatted_total = wc_price($this->get_total(), array('currency' => $this->get_currency()));
        $order_total = $this->get_total();
        $total_refunded = $this->get_total_refunded();
        $tax_string = '';
        // Tax for inclusive prices.
        if (wc_tax_enabled() && 'incl' == $tax_display) {
            $tax_string_array = array();
            if ('itemized' == get_option('woocommerce_tax_total_display')) {
                foreach ($this->get_tax_totals() as $code => $tax) {
                    $tax_amount = $total_refunded && $display_refunded ? wc_price(WC_Tax::round($tax->amount - $this->get_total_tax_refunded_by_rate_id($tax->rate_id)), array('currency' => $this->get_currency())) : $tax->formatted_amount;
                    $tax_string_array[] = sprintf('%s %s', $tax_amount, $tax->label);
                }
            } else {
                $tax_amount = $total_refunded && $display_refunded ? $this->get_total_tax() - $this->get_total_tax_refunded() : $this->get_total_tax();
                $tax_string_array[] = sprintf('%s %s', wc_price($tax_amount, array('currency' => $this->get_currency())), WC()->countries->tax_or_vat());
            }
            if (!empty($tax_string_array)) {
                $tax_string = ' ' . sprintf(__('(includes %s)', 'woocommerce'), implode(', ', $tax_string_array));
            }
        }
        if ($total_refunded && $display_refunded) {
            $formatted_total = '<del>' . strip_tags($formatted_total) . '</del> <ins>' . wc_price($order_total - $total_refunded, array('currency' => $this->get_currency())) . $tax_string . '</ins>';
        } else {
            $formatted_total .= $tax_string;
        }
        /**
         * Filter WooCommerce formatted order total.
         *
         * @param string   $formatted_total  Total to display.
         * @param WC_Order $order            Order data.
         * @param string   $tax_display      Type of tax display.
         * @param bool     $display_refunded If should include refunded value.
         */
        return apply_filters('woocommerce_get_formatted_order_total', $formatted_total, $this, $tax_display, $display_refunded);
    }

Usage Example

 /**
  * Get the total amount with or without refunds
  * @return string
  */
 public function get_total()
 {
     $total = '';
     if ($this->order->get_total_refunded() > 0) {
         $total_after_refund = $this->order->get_total() - $this->order->get_total_refunded();
         $total = '<del class="total-without-refund">' . strip_tags($this->order->get_formatted_order_total()) . '</del> <ins>' . wc_price($total_after_refund, array('currency' => $this->order->get_order_currency())) . '</ins>';
     } else {
         $total = $this->order->get_formatted_order_total();
     }
     return $total;
 }
All Usage Examples Of WC_Order::get_formatted_order_total
WC_Order