WC_Tax::find_rates( array $args = array() )

Searches for all matching country/state/postcode tax rates.


Description Description


Parameters Parameters

$args

(Optional) Args that determine the rate to find.

Default value: array()


Top ↑

Return Return

(array)


Top ↑

Source Source

File: includes/class-wc-tax.php

	public static function find_rates( $args = array() ) {
		$args = wp_parse_args(
			$args,
			array(
				'country'   => '',
				'state'     => '',
				'city'      => '',
				'postcode'  => '',
				'tax_class' => '',
			)
		);

		$country   = $args['country'];
		$state     = $args['state'];
		$city      = $args['city'];
		$postcode  = wc_normalize_postcode( wc_clean( $args['postcode'] ) );
		$tax_class = $args['tax_class'];

		if ( ! $country ) {
			return array();
		}

		$cache_key         = WC_Cache_Helper::get_cache_prefix( 'taxes' ) . 'wc_tax_rates_' . md5( sprintf( '%s+%s+%s+%s+%s', $country, $state, $city, $postcode, $tax_class ) );
		$matched_tax_rates = wp_cache_get( $cache_key, 'taxes' );

		if ( false === $matched_tax_rates ) {
			$matched_tax_rates = self::get_matched_tax_rates( $country, $state, $postcode, $city, $tax_class );
			wp_cache_set( $cache_key, $matched_tax_rates, 'taxes' );
		}

		return apply_filters( 'woocommerce_find_rates', $matched_tax_rates, $args );
	}


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.