2014-10-14 5 views
0

Я пытаюсь отправить заказное электронное письмо на основе приобретенного продукта, отличного от заполненного письма заказа клиенту.Woocomerce посылает заказную электронную почту на основе приобретенного продукта?

add_action('woocommerce_thankyou', 'my_function'); 

function my_function($order_id) { 
    $order = new WC_Order($order_id); 

    foreach($order->get_items() as $item) { 
     $_product = get_product($item['product_id']); 
     if ($item['product_id']== 630) { 
     $to_email = $order["billing_address"]; 
     $headers = 'From: Your Name <[email protected]>' . "\r\n"; 
     wp_mail($to_email, 'subject', 'message', $headers); 
     } 
    } 
} 

Не работает. Как это исправить.

С благодарностью

ответ

2

Я считаю, что ваш адрес электронной почты не соответствует действительности. Поскольку $order - это объект, $order["billing_address"];, который является ключом массива, не существует. Правильная нотация для получения платежного адреса электронной почты - $order->billing_email.

add_action('woocommerce_thankyou', 'my_function'); 

function my_function($order_id) { 
    $order = wc_get_order($order_id); //WC2.2 function name 

    foreach($order->get_items() as $item) { 
     if ($item['product_id']== 630) { 
     $_product = get_product($item['product_id']); 
     $to_email = $order->billing_email; 
     $headers = 'From: Your Name <[email protected]>' . "\r\n"; 
     wp_mail($to_email, 'subject', 'message', $headers); 
     } 
    } 
} 
Смежные вопросы