2017-08-11 111 views
0

我想從admin-new-order.php中刪除帳單地址和送貨地址。我的主題已經有了它的重複。我能夠刪除電子郵件和電話號碼,但我不能刪除帳單和運費。從woocommerce電子郵件中刪除運費和帳單

要刪除的電子郵件和電話我這樣做是

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

+0

請張貼在動作的所有變量的var_dump()。 – DrDamnit

+0

它的帖子太長了。它只允許在這裏有600個字符:/ – Franky

+0

使用https://giat.github.com或paatebin.com – DrDamnit

回答

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); 
+0

我試着添加這個,它給了我一個與其他東西相沖突的錯誤。所以它不可能通過「unset()」刪除運輸和結算,就像我刪除了電子郵件和電話一樣? – Franky

+0

@Franky這段代碼工作正常。請提供錯誤屏幕截圖或更多詳細信息。 –

+0

或者即使我只是將「客戶註釋」添加到「元」部分,那也能解決我的問題。 – Franky

相關問題