Woocommerce хук после создания заказа? [закрыто]

9

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

Я старался woocommerce_new_order

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

Ifty
источник
Опубликуйте свой код, который не работает.
Монреалист
function action_woocommerce_new_order( $order_id ) { update_option('new_order', $order_id ); }; add_action( 'woocommerce_payment_complete', 'action_woocommerce_new_order', 10, 1 );
Ifty
'woocommerce_new_order'крюк это ответ.
Хамид Мохаеджи

Ответы:

10

Попробуй 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){
      //do something...
}

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

WisdmLabs
источник
4
Примечание: это событие будет запущено снова, если конечный пользователь по какой-либо причине обновит страницу с благодарностью.
Вивек Аталье
2
Есть ли крючок, который работает только на сохранение?
benedict_w
1
Также обратите внимание, что этот хук не сработает, если пользователь каким-то образом пропустит страницу с благодарностью
Яир Леви
2

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

Ifty
источник