У меня есть магазин, который продает как на национальном (Новая Зеландия), так и на международном уровне.
Я хочу, чтобы стоимость определенного продукта была одинаковой (например, 4,95 новозеландских доллара).
Что касается заказов в Новой Зеландии, я должен иметь возможность выделить тот факт, что цена 4,95 новозеландского доллара включает 0,65 доллара США GST (для целей налогового счета).
Для международных заказов мне нужно, чтобы они оплачивались в размере 4,95 новозеландских долларов, но без упоминания налога.
Если я установил два налога со следующими метками:
Можно ли скрыть все упоминания о «Корректировке международных цен» в процессе оформления заказа?






Обновлять: Следующий код удаляет строку налога (includes NZD $0.65 International Price Adjustment 15%)для международных клиентов в корзине, кассе, заказах и уведомлениях по электронной почте:
// 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;
}
Код находится в файле function.php вашей активной дочерней темы (или активной темы). Проверено и работает.
@warm__tape Обновлено: Ваш вопрос по этому поводу не совсем ясен ... Итак, знайте, что вся налоговая строка удалена только для международных клиентов ...
спасибо - в основном работает - это просто удаляет ярлык. Мне также нужно удалить бит _ (включая 0,65 новозеландских долларов) _, чтобы не вызывать у клиентов недоумения относительно того, для чего на самом деле предназначен .65c?