我想编辑客户订购后得到的Woocommerce invoice 的内容。我想我必须编辑该文件,该文件位于wp-content / plugins / woocommerce / templates / emails / email-order-details.php
使用以下代码:
<tr>
<th class="td" scope="row" colspan="2" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ?
'border-top-width: 4px;' : ''; ?>"><?php echo wp_kses_post( $total['label'] ); ?></th>
<td class="td" style="text-align:<?php echo esc_attr( $text_align ); ?>; <?php echo ( 1 === $i ) ? 'border-top-width: 4px;' : '';
?>"><?php echo wp_kses_post( $total['value'] ); ?></td>
现在,它按照与总价相同的规则显示增值税详细信息,但我希望将其作为单独的规则,如下所示:
Totaal: €50,00
BTW: €8,68
有人知道该怎么做吗?
答案 0 :(得分:0)
如果要所有电子邮件通知上的更改,您将使用以下代码,该代码将显示总计(不显示税)和税在单独的新行中:< / p>
add_filter( 'woocommerce_get_order_item_totals', 'insert_custom_line_order_item_totals', 10, 3 );
function insert_custom_line_order_item_totals( $total_rows, $order, $tax_display ){
// Only on emails notifications
if( ! is_wc_endpoint_url() ) {
// Change: Display only the gran total amount
$total_rows['order_total']['value'] = strip_tags( wc_price( $order->get_total() ) );
// Create a new row for total tax
$new_row = array( 'order_tax_total' => array(
'label' => __('BTW:','woocommerce'),
'value' => strip_tags( wc_price( $order->get_total_tax() ) )
) );
// Add the new created to existing rows
$total_rows += $new_row;
}
return $total_rows;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
如果您要仅定位“客户发票”电子邮件通知,则需要对模板emails/email-order-details.php
进行更改,以覆盖您的主题。
请先阅读文档:Template structure & Overriding templates via a theme
将emails/email-order-details.php
模板文件复制到主题的文件夹后,打开/编辑它。
在第64行之后:
$totals = $order->get_order_item_totals();
添加以下内容:
// Only Customer invoice email notification
if ( $email->id === 'customer_invoice' ):
// Change: Display only the gran total amount
$totals['order_total']['value'] = strip_tags( wc_price( $order->get_total() ) );
// Create a new row for total tax
$new_row = array( 'order_tax_total' => array(
'label' => __('BTW:','woocommerce'),
'value' => strip_tags( wc_price( $order->get_total_tax() ) )
) );
// Add the new created to existing rows
$totals += $new_row;
endif;
经过测试也可以使用...