WC_Tax::find_shipping_rates PHP Method

find_shipping_rates() public static method

Searches for all matching country/state/postcode tax rates.
public static find_shipping_rates ( array $args = [] ) : array
$args array
return array
    public static function find_shipping_rates($args = array())
    {
        $rates = self::find_rates($args);
        $shipping_rates = array();
        if (is_array($rates)) {
            foreach ($rates as $key => $rate) {
                if ('yes' === $rate['shipping']) {
                    $shipping_rates[$key] = $rate;
                }
            }
        }
        return $shipping_rates;
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * Find tax rates.
  */
 public function test_find_shipping_rates()
 {
     global $wpdb;
     $wpdb->query("DELETE FROM {$wpdb->prefix}woocommerce_tax_rates");
     $wpdb->query("DELETE FROM {$wpdb->prefix}woocommerce_tax_rate_locations");
     $tax_rate = array('tax_rate_country' => 'GB', 'tax_rate_state' => '', 'tax_rate' => '20.0000', 'tax_rate_name' => 'VAT', 'tax_rate_priority' => '1', 'tax_rate_compound' => '0', 'tax_rate_shipping' => '1', 'tax_rate_order' => '1', 'tax_rate_class' => '');
     $tax_rate_id = WC_Tax::_insert_tax_rate($tax_rate);
     $tax_rates = WC_Tax::find_shipping_rates(array('country' => 'GB', 'state' => 'Cambs', 'postcode' => 'PE14 1XX', 'city' => 'Somewhere', 'tax_class' => ''));
     $this->assertEquals($tax_rates, array($tax_rate_id => array('rate' => '20.0000', 'label' => 'VAT', 'shipping' => 'yes', 'compound' => 'no')));
     WC_Tax::_delete_tax_rate($tax_rate_id);
 }
All Usage Examples Of WC_Tax::find_shipping_rates