删除 woocommerce 购物车(按国家/地区估计)税文本

Remove woocommerce cart (estimated by country) tax text

我正在用 wordpress 建立一个网站,当我进入购物车时,它不断弹出

“(估计为澳大利亚)”在 TAX 之后给出 item/s 的税值。

我在这里检查了另一个问题和答案,但它们的代码与我的代码不同。我尝试了一些不同的东西,但无法弄清楚。

这是我在 google chrome 上检查购物车时的代码。

<tr class="tax-total">
    <th>Tax <small>(estimated for Australia)</small></th>
    <td data-title="Tax">
       <span class="woocommerce-Price-amount amount">
       <span class="woocommerce-Price-currencySymbol">$</span>109.80</span> 
    </td>
</tr>

谁能帮我解决过滤器问题?

您可以通过编辑主题的 WooCommerce 购物车模板文件来完成。我想这是硬编码在 cart.php.

或者,如果您想要更简单的解决方案,只需使用 CSS 隐藏它即可。

此代码隐藏了“({country} 的估计值)”部分:

.tax-total th small {display:none!important}

这个隐藏

.tax-total {display:none!important}

该行为的负责函数是 wc_cart_totals_order_total_html() ......但希望您可以使用以下代码挂钩函数更改它:

add_filter( 'woocommerce_cart_totals_order_total_html', 'filtering_cart_totals_order_total_html', 20, 1 );
function filtering_cart_totals_order_total_html( $value ){
    $value = '<strong>' . WC()->cart->get_total() . '</strong> ';

        // If prices are tax inclusive, show taxes here.
    if ( wc_tax_enabled() && WC()->cart->display_prices_including_tax() ) {
        $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 ) ) {
            $value .= '<small class="includes_tax">' . sprintf( __( '(includes %s)', 'woocommerce' ), implode( ', ', $tax_string_array ) ) . '</small>';
        }
    }
    return $value;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。 已测试并有效。

您将获得:

而不是:

这是 Woocommerce 3.2+ 的更新,略有不同,基于此答案: