从woocommerce电子邮件中删除运费和结算

时间:2017-08-11 01:44:14

标签: php wordpress woocommerce email-templates

我想从admin-new-order.php中删除帐单邮寄地址和送货地址。我的主题中已经有了它的副本。我能够删除电子邮件和电话号码,但我不能删除账单和运费。

要删除我执行此操作的电子邮件和手机

    add_filter( 'woocommerce_email_customer_details_fields', 'custom_woocommerce_email_customer_details_fields' );    
function custom_woocommerce_email_customer_details_fields( $totals ) {
      unset( 
             $totals['billing_email'],
             $totals['billing_phone']
            );
           return $totals;   
         }

我知道如果我完全删除了:

 do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );

它会删除所有内容,但我无法做到这一点,因为我需要在那里显示的笔记和交付时间(来自插件)。如果我删除整个内容,那么它会删除所有内容。

我已经尝试了

unset($totals['billing_first_name']);

这种情况有很多种,但它不起作用。

enter image description here

1 个答案:

答案 0 :(得分:0)

在下面的所有电子邮件模板中都执行操作挂钩。 WC_Emails::email_address()此功能代码用于在邮件中添加结算和送货详细信息。

/**
 * @hooked WC_Emails::customer_details() Shows customer details
 * @hooked WC_Emails::email_address() Shows email address
 */
do_action( 'woocommerce_email_customer_details', $order, $sent_to_admin, $plain_text, $email );

要从function.php文件

中删除邮件中的结算和发货详细信息
function removing_customer_details_in_emails( $order, $sent_to_admin, $plain_text, $email ){
    $wmail = WC()->mailer();
    remove_action( 'woocommerce_email_customer_details', array( $wmail, 'email_addresses' ), 20, 3 );
}
add_action( 'woocommerce_email_customer_details', 'removing_customer_details_in_emails', 5, 4 );