2017-01-04 82 views
1

我對WordPress非常陌生,並創建了一個使用WooCommerce的電子商務商店。在WooCommerce中定製客戶處理電子郵件通知

客戶下訂單後,我收到一封電子郵件,客戶收到一封電子郵件 - 一封給我說他們已經訂購的東西,一封給他們作爲感謝電子郵件。

在此謝謝你的電子郵件,在我functions.php文件,我已經學會了改變標題的主題,包括他們的名字像這樣:

//add the first name of the person to the person getting the reciept in the subject of the email. 
add_filter('woocommerce_email_subject_customer_processing_order','UEBC_change_processing_email_subject', 10, 2); 

function UEBC_change_processing_email_subject($subject, $order) { 
global $woocommerce; 
$subject = 'Thanks for your ' . get_bloginfo('name', 'display') . ' Order, '.$order->billing_first_name .'!'; 
return $subject; 
} 

中的代碼片段工作正常,並只顯示給客戶,而不是我。例如「謝謝你的訂單ABCD衣服訂購約翰!」。 在電子郵件的正文中,我試圖讓這個個人作爲一個小感謝你的消息,但是,當我做了消息,我現在用的鉤:

add_action('woocommerce_email_before_order_table', 'custom_add_content', 20,1); 

我知道,因爲即時通訊使用woocommerce_email_before_order_table掛鉤,自定義功能將發送到客戶和我自己的電子郵件正文中。

我在想,Woocommerce是否提供了一個鉤子,以便自定義函數只會發送給電子郵件正文中的客戶?

例如:woocommerce_email_header_customer_processing_order或單詞是否有這種效果?

感謝

回答

2

添加使用woocommerce_email_before_order_table鉤和定位只是客戶「處理訂單」電子郵件通知一些自定義的內容,你應該試試這個:

add_action('woocommerce_email_before_order_table', 'custom_content_to_processing_customer_email', 10, 4); 
function custom_content_to_processing_customer_email($order, $sent_to_admin, $plain_text, $email) { 

    if('customer_processing_order' == $email->id){ 

     // Set here as you want your custom content (for customers and email notification related to processing orders only) 
     echo '<p class="some-class">Here goes your custom content… </p>'; 

    } 

} 

代碼放在功能。你活躍的孩子主題(或主題)的PHP文件。或者也可以在任何插件php文件中使用。

這段代碼經過測試和工作

+0

輝煌,謝謝你的工作。出於好奇,當僅使用$ email時,將這4個參數包含在函數中的目的是什麼? –

+1

由於'$ email'是第四個也是最後一個參數,所以你**不能刪除其他的**,你將來可能需要添加更多的條件或基於其他參數的代碼(尤其是第一個)...最重要的是,這是爲你工作,還是不是? – LoicTheAztec

相關問題