2017-01-11 15 views
0

私は一日中実験していて、ウェブ全体を研究しています。この動作を働かせるようです。基本的に私はカスタムオーダーアクションが選択されたときにWoo Emailをトリガーしようとしています。この場合、その贈り物の領収書。トリガー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

nah、それは動作していないようです - メールロガーがインストールされていて、メールを送信していないようです – DEM

0

私はそれをもう少しコーヒーの後で分かりました。電子メールのID(名前は)実際には「wc_gift_order」の代わりのだった)私は、関数gift_receipt_wc_process_order_meta_box_actionにオーダー($順)情報()

2を通過しなかった)

1:問題が2倍でした'wc_gift_order_email'

ありがとうございます!

関連する問題