2017-01-11 118 views
0

我一直在嘗試整天研究整個網絡,而且我似乎無法使此操作起作用。基本上,我試圖在選擇自定義訂單操作時觸發Woo電子郵件。在這種情況下,它是一個禮物收據。在自定義訂單操作中觸發WooCommerce電子郵件

請注意:當我打開調試,我得到一個headers already sent notice,沒有時,它關閉。

這裏是我試過的代碼:


function gift_receipt_add_order_meta_box_action($actions) 
{ 
    global $theorder; 

    $actions['send_gift_receipt'] = __('Send Gift Receipt', 'enyc'); 
    return $actions; 
} 

add_action('woocommerce_order_actions', 'gift_receipt_add_order_meta_box_action'); 

function gift_receipt_wc_process_order_meta_box_action() 
{ 

    $mailer = WC()->mailer(); 
    $mails = $mailer->get_emails(); 
    if (!empty($mails)) 
    { 
     foreach ($mails as $mail) 
     { 
      if ($mail->id == 'wc_gift_order_email') 
      { 
       $mail->trigger($order->id); 
      } 
     } 
    } 
} 

add_action('woocommerce_order_action_send_gift_receipt', 'gift_receipt_wc_process_order_meta_box_action'); 

感謝。

回答

0
function gift_receipt_wc_process_order_meta_box_action() 

缺少$爲了

function gift_receipt_wc_process_order_meta_box_action($order) 

可能這是問題?

+0

不,似乎沒有工作 - 我有一個郵件記錄器安裝,它似乎並沒有發送電子郵件 – DEM

0

所以我想出了更多的咖啡後。問題是2倍:

1)我沒有通過的順序($順序)信息,以電子郵件的功能gift_receipt_wc_process_order_meta_box_action()

2)的ID(名稱)實際上是「wc_gift_order」,而不是'wc_gift_order_email'

感謝您的幫助!

相關問題