Хук WooCommerce после создания заказа?

19 дек. 2015 г., 21:22:07
Просмотры: 63.8K
Голосов: 12

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

Я пробовал woocommerce_new_order

Но это не работает.

3
Комментарии

Опубликуйте ваш код, который не работает.

montrealist montrealist
19 дек. 2015 г. 21:31:49

`function action_woocommerce_new_order( $order_id ) {

update_option('new_order', $order_id ); }; add_action( 'woocommerce_payment_complete', 'action_woocommerce_new_order', 10, 1 );`

Iftieaq Iftieaq
19 дек. 2015 г. 21:47:33

'woocommerce_new_order' - это правильный хук.

Hamid Mohayeji Hamid Mohayeji
5 мар. 2020 г. 00:09:40
Все ответы на вопрос 2
3
15

Попробуйте хук woocommerce_thankyou. Он срабатывает после успешного получения заказа, независимо от способа оплаты.

$hook_to = 'woocommerce_thankyou';
$what_to_hook = 'wl8OrderPlacedTriggerSomething';
$prioriy = 111;
$num_of_arg = 1;    
add_action($hook_to, $what_to_hook, $prioriy, $num_of_arg);

function wl8OrderPlacedTriggerSomething($order_id){
      // делаем что-то...
}

Для более подробной информации изучите woocommerce/templates/checkout/thankyou.php

22 дек. 2015 г. 13:27:29
Комментарии

Примечание: это событие будет снова вызвано, если конечный пользователь по какой-либо причине обновит страницу благодарности.

Vivek Athalye Vivek Athalye
23 дек. 2017 г. 14:27:11

Есть ли хук, который срабатывает только при сохранении?

benedict_w benedict_w
24 окт. 2018 г. 15:59:46

также учтите, что этот хук не сработает, если пользователь каким-то образом пропустит страницу благодарности

Yair Levy Yair Levy
16 февр. 2020 г. 18:06:59
0

Я нашел решение. В моем списке заказов уже существовал старый заказ. Поэтому, когда я добавляю новые товары в заказ, WooCommerce просто обновляет мой старый неоплаченный заказ. Так что я также использую действие woocommerce_resume_order. Теперь все работает правильно.

19 дек. 2015 г. 22:12:25