Продавцы продуктов WooCommerce: отправьте уведомление поставщику о получении нового заказа
Я использую плагин WooCommerce Product Vendors для управления поставщиками.
В настоящее время при получении нового заказа уведомление отправляется клиенту и администратору. Как только администратор изменит статус заказа на Обрабатывается или Завершено, электронное письмо отправляется Продавцу.
Но мне нужно отправить это уведомление по электронной почте, когда заказ будет получен.
Может ли это быть достигнуто путем создания фильтра в functions.php
или, может быть, путем запуска уведомления об изменении статуса продукта в полученном заказе?
1 ответ
Обновлено для уведомления о новом бронировании...
Есть много способов достичь этого. Здесь у меня есть 2 из них:
1) Первый, основанный на электронном адресе "новый заказ". Протестировано и работает:
add_action ('woocommerce_email_customer_details', 'new_order_email_to_vendor', 20, 4 );
function new_order_email_to_vendor( $order, $sent_to_admin, $plain_text, $email ){
if( $email->id == 'new_booking' ){ // <== Updated
$mailer = WC()->mailer()->get_emails();
$mailer['WC_Product_Vendors_Order_Email_To_Vendor']->trigger( $order );
}
}
Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.
2) Это не проверено, так как основано на условиях изменения статуса заказа. Вы можете установить в операторе if статусы заказа "from" или некоторые статусы заказа "to" или оба...
Здесь я использую только статус "с" ожидающего заказа, так как все заказы всегда находятся в состоянии ожидания во время процесса оплаты в Woocommerce:
add_action( 'woocommerce_order_status_changed', 'new_order_email_to_vendor', 10, 4 );
function new_order_email_to_vendor( $order_id, $old_status, $new_status, $order ){
if ( in_array( $new_status, array( 'processing','completed') ) { // <== Updated
$emails = WC()->mailer()->get_emails();
$emails['WC_Product_Vendors_Order_Email_To_Vendor']->trigger( $order );
}
}
Код помещается в файл function.php вашей активной дочерней темы (или темы) или также в любой файл плагина.