Woocommerce установил новый статус заказа - PullRequest
0 голосов
/ 24 октября 2018

У меня есть цифровые и физические продукты в моем магазине.Я хотел бы иметь отдельное электронное письмо, когда заказ размещен там, где был заказан цифровой продукт, и не использовать электронное письмо, когда статус заказа завершен.

Обходной путь, о котором я подумал, - создать пользовательский статус, а затемсоздать новое электронное письмо для этого статуса.

Я успешно создал статус заказа. Моя проблема связана с установкой статуса при поступлении заказа. Это мой код:

add_action( 'woocommerce_thankyou', 'change_order_status', 10, 1 );
function change_order_status( $order_id){

$order = wc_get_order( $order_id );
foreach ( $order->get_items() as $item_id => $item_values ) {

// Product_id
$product_id = $item_values->get_product_id(); 

// OR the Product id from the item data
$item_data = $item_values->get_data();
$product_id = $item_data['product_id'];

# Targeting a defined product ID
if ( $product_id == 437 ) {
$order->update_status('digital-completed');
}   


}
}

С этимКод заказа сначала устанавливается на «Завершено», а затем он обновляется до моего пользовательского статуса.Это означает, что покупатель получит два электронных письма, одно для завершенного статуса и одно для моего пользовательского статуса.

Я изо всех сил пытаюсь найти способ установить заказ на мой пользовательский статус, когда он впервые размещен.

Что лучше сделать?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...