Сделать уведомление о состоянии отложенных заказов работающим в Woocommerce - PullRequest
0 голосов
/ 18 февраля 2019

Мне нужно отправить уведомление по электронной почте, когда я вручную устанавливаю статус заказа с processing на on-hold статус.Я добавил следующий хук действия в мой файл functions.php:

add_action( 'woocommerce_order_status_processing_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );

Он не работает (не отображается в журнале почты WP), даже если это конкретное уведомление по электронной почте включено в настройках woocommerce и аналогичных хуках.как показано ниже, работает просто отлично:

add_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $this, 'trigger' ), 10, 2 );

Среда: Woocommerce v.3.5.1 Wordpress v.4.9.9 PHP 5.6

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 18 февраля 2019

Обновлен перехват

Вместо этого вы должны попробовать следующую перехваченную функцию:

add_action( 'woocommerce_order_status_processing_to_on-hold', 'enable_processing_to_on_hold_notification', 10, 2 );
function enable_processing_to_on_hold_notification( $order_id, $order ){
    // Getting all WC_emails array objects
    $mailer = WC()->mailer()->get_emails();

    // Send the "On Hold" notification
    $mailer['WC_Email_Customer_On_Hold_Order']->trigger( $order_id );
}

Код помещается в файл function.php вашей активной дочерней темы (активныйтема).Должно работать.

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