I have a store that sells nationally (New Zealand) as well as internationally.
I want a given product to be charged at a consistent price (say, for example NZD$4.95)
For New Zealand orders, I need to be able to highlight the fact that the price NZD$4.95 includes $0.65 GST (for Tax Invoice purposes).
For International orders, I need them to be charged at NZ$4.95, but with no mention of tax.
If I have set up two taxes with the following labels:
Would it be possible to hide all mention of the "International Price Adjustment" from the checkout process?
Update: The following code will remove (includes NZD $0.65 International Price Adjustment 15%)
tax line for international customers, on cart, checkout, orders and email notifications:
// For Cart and checkout pages
add_filter( 'woocommerce_cart_totals_order_total_html', 'hide_iternational_tax_label', 20, 1 );
function hide_iternational_tax_label( $value ) {
// For international orders we display only the total, not the taxes line below
if( 'NZ' != WC()->customer->get_billing_country() )
return '<strong>' . WC()->cart->get_total() . '</strong> ';
return $value;
}
// For customer Order received, Order view and email notifications
add_filter( 'woocommerce_get_formatted_order_total', 'hide_iternational_order_tax_label', 20, 4 );
function hide_iternational_order_tax_label( $formatted_total, $order, $tax_display, $display_refunded ) {
// For international orders we display only the total, not the taxes line below
if( 'NZ' != $order->get_billing_country() ){
$tax_string = ''; // <=== nulling the tax string
$order_total = $order->get_total();
$formatted_total = wc_price( $order_total, array( 'currency' => $order->get_currency() ) );
$total_refunded = $order->get_total_refunded();
if ( $total_refunded && $display_refunded ) {
$formatted_total = '<del>' . strip_tags( $formatted_total ) . '</del> <ins>' . wc_price( $order_total - $total_refunded, array( 'currency' => $order->get_currency() ) ) . $tax_string . '</ins>';
} else {
$formatted_total .= $tax_string;
}
}
return $formatted_total;
}
Code goes in function.php file of your active child theme (or active theme). Tested and works.