2017-02-08 72 views
2

我想在WooCommerce的「新訂單」電子郵件通知中指出,如果它是重複客戶。獲取新訂單中的客戶訂單電子郵件通知

看起來很簡單,但我試過5種不同的方法,都沒有工作。我已經試過把這個放入2個不同的掛鉤:

  • woocommerce_email_after_order_table
  • woocommerce_email_subject_new_order

好像wc_get_customer_order_count($user->ID)應該工作,但它看來,$user對象不傳遞到那些掛鉤的功能,對不對?

我也想知道,如果這是可能的,當它是一個客人,而不是一個註冊用戶,也許通過比較電子郵件地址?

感謝

回答

2

WooCommerce電子郵件通知相關訂單。

woocommerce_email_after_order_table鉤子中,您將Order對象作爲鉤住自定義函數中的參數,並且還有$email對象。

隨着該$order對象,你可以得到user ID這樣:

$user_id = $user_id = $order->get_user_id(); 

$email對象,你可以針對新訂單的電子郵件通知。

所以工作代碼將是:

add_action('woocommerce_email_after_order_table', 'customer_order_count', 10, 4); 
function customer_order_count($order, $sent_to_admin, $plain_text, $email){ 

    if ($order->get_user_id() > 0){ 

     // Targetting new orders (that will be sent to customer and to shop manager) 
     if ('new_order' == $email->id){ 

      // Getting the user ID 
      $user_id = $order->get_user_id(); 

      // Get the user order count 
      $order_count = wc_get_customer_order_count($user_id); 

      // Display the user order count 
      echo '<p>Customer order count: '.$order_count.'</p>'; 

     } 
    } 
} 

您還可以使用,而不是woocommerce_email_before_order_table鉤例如...

代碼放在您的活動子主題的function.php文件(或主題)或任何插件文件。

此代碼已經過測試並可正常工作。

+0

這太好了,謝謝!希望我會早點提問。 :-P – protohominid

相關問題