public static function _update_tax_rate_postcodes($tax_rate_id, $postcodes) { if (!is_array($postcodes)) { $postcodes = explode(';', $postcodes); } // No normalization - postcodes are matched against both normal and formatted versions to support wildcards. foreach ($postcodes as $key => $postcode) { $postcodes[$key] = strtoupper(trim(str_replace(chr(226) . chr(128) . chr(166), '...', $postcode))); } self::_update_tax_rate_locations($tax_rate_id, array_diff(array_filter($postcodes), array('*')), 'postcode'); }
/** * add_eu_countries_vat_rates. * * @version 2.3.10 * @since 2.3.10 */ function add_eu_countries_vat_rates() { if (!isset($_POST['add_eu_countries_vat_rates'])) { return; } if (!is_super_admin() && !is_shop_manager()) { return; } $loop = 0; foreach (wcj_get_european_union_countries_with_vat() as $country => $rate) { $tax_rate = array('tax_rate_country' => $country, 'tax_rate' => $rate, 'tax_rate_name' => isset($_POST['wcj_tax_name']) ? $_POST['wcj_tax_name'] : __('VAT', 'woocommerce'), 'tax_rate_priority' => 1, 'tax_rate_compound' => 0, 'tax_rate_shipping' => 1, 'tax_rate_order' => $loop++, 'tax_rate_class' => ''); $tax_rate_id = WC_Tax::_insert_tax_rate($tax_rate); WC_Tax::_update_tax_rate_postcodes($tax_rate_id, ''); WC_Tax::_update_tax_rate_cities($tax_rate_id, ''); } }