Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
wp-content
/
plugins
/
woocommerce
/
includes
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('ABSPATH') || exit; class WC_Order_Item_Tax extends WC_Order_Item { protected $extra_data = array('rate_code' => '', 'rate_id' => 0, 'label' => '', 'compound' => false, 'tax_total' => 0, 'shipping_tax_total' => 0, 'rate_percent' => null); public function set_name($value) { $this->set_rate_code($value); } public function set_rate_code($value) { $this->set_prop('rate_code', wc_clean($value)); } public function set_label($value) { $this->set_prop('label', wc_clean($value)); } public function set_rate_id($value) { $this->set_prop('rate_id', absint($value)); } public function set_tax_total($value) { $this->set_prop('tax_total', $value ? wc_format_decimal($value) : 0); } public function set_shipping_tax_total($value) { $this->set_prop('shipping_tax_total', $value ? wc_format_decimal($value) : 0); } public function set_compound($value) { $this->set_prop('compound', (bool) $value); } public function set_rate_percent($value) { $this->set_prop('rate_percent', (float) $value); } public function set_rate($tax_rate_id) { $tax_rate = WC_Tax::_get_tax_rate($tax_rate_id, OBJECT); $this->set_rate_id($tax_rate_id); $this->set_rate_code(WC_Tax::get_rate_code($tax_rate)); $this->set_label(WC_Tax::get_rate_label($tax_rate)); $this->set_compound(WC_Tax::is_compound($tax_rate)); $this->set_rate_percent(WC_Tax::get_rate_percent_value($tax_rate)); } public function get_type() { return 'tax'; } public function get_name($context = 'view') { return $this->get_rate_code($context); } public function get_rate_code($context = 'view') { return $this->get_prop('rate_code', $context); } public function get_label($context = 'view') { $label = $this->get_prop('label', $context); if ('view' === $context) { return $label ? $label : __('Tax', 'woocommerce'); } else { return $label; } } public function get_rate_id($context = 'view') { return $this->get_prop('rate_id', $context); } public function get_tax_total($context = 'view') { return $this->get_prop('tax_total', $context); } public function get_shipping_tax_total($context = 'view') { return $this->get_prop('shipping_tax_total', $context); } public function get_compound($context = 'view') { return $this->get_prop('compound', $context); } public function is_compound() { return $this->get_compound(); } public function get_rate_percent($context = 'view') { return $this->get_prop('rate_percent', $context); } public function offsetGet($offset) { if ('tax_amount' === $offset) { $offset = 'tax_total'; } elseif ('shipping_tax_amount' === $offset) { $offset = 'shipping_tax_total'; } return parent::offsetGet($offset); } public function offsetSet($offset, $value) { wc_deprecated_function('WC_Order_Item_Tax::offsetSet', '4.4.0', ''); if ('tax_amount' === $offset) { $offset = 'tax_total'; } elseif ('shipping_tax_amount' === $offset) { $offset = 'shipping_tax_total'; } parent::offsetSet($offset, $value); } public function offsetExists($offset) { if (in_array($offset, array('tax_amount', 'shipping_tax_amount'), true)) { return true; } return parent::offsetExists($offset); } }