I set up a 19% standard tax amount in my Woocommerce Online-Shop. Unfortunatley – now there is a text “estimated for Germany” behind the (includes 20,12 €… part below the total-amount in my checkout page (see image below). I guess it displays the text because the calculated tax amount has a lot of decimals.
HTML
<small class="includes_tax"> (includes <span class="woocommerce-Price-amount amount">20.12 <span class="woocommerce-Price-currencySymbol">€<span> </span> estimated for Germany) </small>
This is not the case by using a 20% tax amount.
How to remove the “estimated for Germany” text?
I was not able find any filter or html class to target the text.
Advertisement
Answer
The responsable code is in there, located in wc_cart_totals_order_total_html()
function.
So we can use hooked function hooked in woocommerce_cart_totals_order_total_html
filter hook, where we’ll remove this annoying behavior (added compatibility for versions since 2.6.x and up):
add_filter( 'woocommerce_cart_totals_order_total_html', 'custom_cart_totals_order_total_html', 20, 1 ); function custom_cart_totals_order_total_html( $value ){ $value = '<strong>' . WC()->cart->get_total() . '</strong> '; // If prices are tax inclusive, show taxes here. $incl_tax_display_cart = version_compare( WC_VERSION, '3.3', '<' ) ? WC()->cart->tax_display_cart == 'incl' : WC()->cart->display_prices_including_tax(); if ( wc_tax_enabled() && $incl_tax_display_cart ) { $tax_string_array = array(); $cart_tax_totals = WC()->cart->get_tax_totals(); if ( get_option( 'woocommerce_tax_total_display' ) == 'itemized' ) { foreach ( $cart_tax_totals as $code => $tax ) { $tax_string_array[] = sprintf( '%s %s', $tax->formatted_amount, $tax->label ); } } elseif ( ! empty( $cart_tax_totals ) ) { $tax_string_array[] = sprintf( '%s %s', wc_price( WC()->cart->get_taxes_total( true, true ) ), WC()->countries->tax_or_vat() ); } if ( ! empty( $tax_string_array ) ) { $taxable_address = WC()->customer->get_taxable_address(); $estimated_text = ''; $value .= '<small class="includes_tax">' . sprintf( __( '(includes %s)', 'woocommerce' ), implode( ', ', $tax_string_array ) . $estimated_text ) . '</small>'; } } return $value; }
This code goes on function.php file of your active child theme (or theme).
Tested and works.