2016-09-05 12 views
1

私は特定の製品の特定の電子メールアドレスへのWooCommerceの新しい注文電子メールを知る必要があります。WooCommerce新しい注文電子メールは、一部の製品の手動トリガー

例:商品が購入された場合への新規注文メールが必要です。 Yは、バックエンドの受信者として設定されていません。これを達成するためのフックはありますか?

私はあなたのfunctions.phpに以下を入れることができます

add_action('woocommerce_order_status_completed', 'custom_woocommerce_order_status_completed'); 
function custom_woocommerce_order_status_completed($order_id) { 
    $order = new WC_Order($order_id); 

    $items = $order->get_items(); 

    foreach ($items as $key => $value) { 
     if($value == 10) { // given product id 
      // trigger order complete email for specific email address 
     } 
    } 
} 

答えて

2

に従ってみました:

add_filter('woocommerce_email_recipient_customer_completed_order', 'your_email_recipient_filter_function', 10, 2); 

function your_email_recipient_filter_function($recipient, $object) { 
    $recipient = $recipient . ', [email protected]'; 
    return $recipient; 
} 

唯一の欠点は、受信者が自分のアドレスの両方が表示されていること&彼自身にあります:フィールド。


また、woocommerce_email_headersフィルタを使用することもできます。渡された$オブジェクトを使用すると、注文完了メールにこれをのみに適用することができます:Ewoutからthis answerから撮影

add_filter('woocommerce_email_headers', 'mycustom_headers_filter_function', 10, 2); 

function mycustom_headers_filter_function($headers, $object) { 
    if ($object == 'customer_completed_order') { 
     $headers .= 'BCC: My name <[email protected]>' . "\r\n"; 
    } 

    return $headers; 
} 

+0

このリンクは質問に答えるかもしれませんが、回答の重要な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](レビュー/低品質の投稿/ 13572897) –

+0

フィードバックに感謝しました。私の答えはコードスニペットを直接含むように編集しました。 –

+0

チェックアウト後に送信されるデフォルトの電子メールを使用して、このフックが機能しない可能性がある理由はありますか?私はあなたの最初の例を使用し、追加の電子メールで連結しましたが、依然としてそれは買い手にのみ送信します。私はそれが何か効果があったかどうかを見るために優先順位をつけようとしました。 – mtpultz

関連する問題