WC_Abstract_Legacy_Order::legacy_set_total PHP Method

legacy_set_total() public method

Set an order total.
public legacy_set_total ( float $amount, string $total_type = 'total' ) : boolean
$amount float
$total_type string
return boolean
    public function legacy_set_total($amount, $total_type = 'total')
    {
        if (!in_array($total_type, array('shipping', 'tax', 'shipping_tax', 'total', 'cart_discount', 'cart_discount_tax'))) {
            return false;
        }
        switch ($total_type) {
            case 'total':
                $amount = wc_format_decimal($amount, wc_get_price_decimals());
                $this->set_total($amount);
                update_post_meta($this->get_id(), '_order_total', $amount);
                break;
            case 'cart_discount':
                $amount = wc_format_decimal($amount);
                $this->set_discount_total($amount);
                update_post_meta($this->get_id(), '_cart_discount', $amount);
                break;
            case 'cart_discount_tax':
                $amount = wc_format_decimal($amount);
                $this->set_discount_tax($amount);
                update_post_meta($this->get_id(), '_cart_discount_tax', $amount);
                break;
            case 'shipping':
                $amount = wc_format_decimal($amount);
                $this->set_shipping_total($amount);
                update_post_meta($this->get_id(), '_order_shipping', $amount);
                break;
            case 'shipping_tax':
                $amount = wc_format_decimal($amount);
                $this->set_shipping_tax($amount);
                update_post_meta($this->get_id(), '_order_shipping_tax', $amount);
                break;
            case 'tax':
                $amount = wc_format_decimal($amount);
                $this->set_cart_tax($amount);
                update_post_meta($this->get_id(), '_order_tax', $amount);
                break;
        }
        return true;
    }