-
-
Save mikejolley/5aab2ec276906bc81a21ec6584d79c2d to your computer and use it in GitHub Desktop.
<?php // Do not include this if already open! | |
/** | |
* Code goes in theme functions.php. | |
*/ | |
add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 2 ); | |
function custom_woocommerce_get_price_suffix( $price_display_suffix, $product ) { | |
if ( ! $product->is_taxable() ) { | |
return ''; | |
} | |
return $price_display_suffix; | |
} |
Is there a version of this that would work to hide the price prefix if a product is taxable?
does anyone have a version that would simply hide the price suffix when tax is simply zero? I.e. when deliver is within EU countries, website should display the suffix (i.e. incl VAT), but when a customer is outside of EU and gets prices displayed without VAT, the price suffix should be hidden.
!is_taxable () does not work if you need to hide tax suffix for other reasons, like a geo located country. In the UK we show a VAT suffix but in US we would not, but because the product is still set to is_taxable when still in the US, even if tax returns as 0, the tax suffix shows. So I hide it if the tax rate is 0.
So this is what I am using, seems to work:
function custom_woocommerce_get_price_suffix( $price_display_suffix, $product )
{
$tax = new WC_Tax();
$taxes = $tax->get_rates($product->get_tax_class());
$rates = array_shift($taxes);
$item_rate = round(array_shift($rates));
if ( $item_rate == 0 )
{
return '';
}
return $price_display_suffix;
}
add_filter( 'woocommerce_get_price_suffix', 'custom_woocommerce_get_price_suffix', 10, 2 );
All code does not work.
Great!