2017-01-11 1 views
0

Я экспериментировал весь день и изучал всю сеть, и я не могу заставить это действие работать. В основном я пытаюсь вызвать Woo Email при выборе пользовательского порядка действий. В этом случае это подарок квитанции.Trigger 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

Итак, я понял это после еще одного кофе. Проблема была в 2 раза:

1) Я не прошел заказ ($ заказ) Информация для функции gift_receipt_wc_process_order_meta_box_action()

2) идентификатор (имя) по электронной почте на самом деле «wc_gift_order» вместо 'wc_gift_order_email'

Спасибо за помощь!