如何从 WooCommerce 订单确认电子邮件中删除付款方式?

问题描述

我们已删除客户电子邮件中的付款信息,但无法删除标题。我们该怎么做?我们使用 Woocommerce 电子邮件模板来发送订单确认电子邮件

我们已经搜索并尝试更改

  • email-order-details.PHP
  • email-order-items.PHP
  • 客户保留订单。 PHP(我们的客户使用保留订单作为向客户发送确认电子邮件认模板)

我们尝试了这个 电子邮件订单详细信息,它根本不起作用。

<tfoot>
    <?PHP
        if ( $totals = $order->get_order_item_totals() ) {
            $i = 0;
            foreach ( $totals as $total ) {
                $i++;
                if ( $total['label'] != 'Payment Method:' ){
                    ?><tr>
                        <th scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?PHP if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?PHP echo $total['label']; ?></th>
                        <td style="text-align:left; border: 1px solid #eee; <?PHP if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?PHP echo $total['value']; ?></td>
                    </tr><?PHP
                }
            }
        }
    ?>
</tfoot> 

解决方法

使用钩子从 WooCommerce 电子邮件通知中删除付款方式:

add_filter( 'woocommerce_get_order_item_totals','remove_paymeny_method_row_from_emails',10,3 );
function remove_paymeny_method_row_from_emails( $total_rows,$order,$tax_display ){
    // On Email notifications only
    if ( ! is_wc_endpoint_url() ) {
        unset($total_rows['payment_method']);
    }
    return $total_rows;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。


或覆盖 email-order-details.php 模板文件:

<tfoot>
    <?php
        if ( $totals = $order->get_order_item_totals() ) {
            $i = 0;
            foreach ( $totals as $key => $total ) {
                $i++;
                if ( $key !== 'payment_method' ){
                    ?><tr>
                        <th scope="row" colspan="2" style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['label']; ?></th>
                        <td style="text-align:left; border: 1px solid #eee; <?php if ( $i == 1 ) echo 'border-top-width: 4px;'; ?>"><?php echo $total['value']; ?></td>
                    </tr><?php
                }
            }
        }
    ?>
</tfoot> 

它也应该有效。