Следующее добавит новую строку с итоговой суммой без НДС в итоги по электронным уведомлениям:
add_filter( 'woocommerce_get_order_item_totals', 'add_order_total_excl_vat_row', 10, 3 );
function add_order_total_excl_vat_row( $total_rows, $order, $tax_display ) {
// Only on emails notifications
if( ! is_wc_endpoint_url() || ! is_admin() ) {
// Set last total row in a variable and remove it.
$gran_total = $total_rows['order_total'];
unset( $total_rows['order_total'] );
// Insert our new row
$total_rows['order_total_ev'] = array(
'label' => __( 'Total Excl. VAT :', 'woocommerce' ),
'value' => wc_price( $order->get_total() - $order->get_total_tax() ),
);
// Set back last total row
$total_rows['order_total'] = $gran_total;
}
return $total_rows;
}
Код помещается в файл function.php вашей активной дочерней темы (или активной темы).Протестировано и работает.
Чтобы добавить эту новую строку перед строкой налога (если она включена в настройках налога), используйте вместо этого:
add_filter( 'woocommerce_get_order_item_totals', 'custom_order_total_excl_vat_row', 10, 3 );
function custom_order_total_excl_vat_row( $total_rows, $order, $tax_display ) {
// Only on emails notifications
if( ! is_wc_endpoint_url() || ! is_admin() ) {
$new_total_rows = array();
// Loop through total lines
foreach( $total_rows as $key => $values ){
if( $key === 'tax' ){
$new_total_rows['order_total_et'] = array(
'label' => __( 'Total Excl. VAT :', 'woocommerce' ),
'value' => wc_price( $order->get_total() - $order->get_total_tax() ),
);
}
$new_total_rows[$key] = $values;
}
return $new_total_rows;
}
return $total_rows;
}
Код помещается в файл function.phpваша активная детская тема (или активная тема).Проверено и работает.
Вы получите что-то вроде: