¿Hook de Woocommerce después de crear un pedido?

19 dic 2015, 21:22:07
Vistas: 63.8K
Votos: 12

Estoy buscando un hook que se active después de que alguien envíe el formulario de checkout y se haya creado el pedido (sin importar si realizó el pago o no).

Probé woocommerce_new_order

Pero no está funcionando.

3
Comentarios

Publica el código que no está funcionando.

montrealist montrealist
19 dic 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 dic 2015 21:47:33

El hook 'woocommerce_new_order' es la respuesta.

Hamid Mohayeji Hamid Mohayeji
5 mar 2020 00:09:40
Todas las respuestas a la pregunta 2
3
15

Prueba el hook woocommerce_thankyou. Este se activará después de recibir el pedido exitosamente, sin importar cómo el usuario realizó el pago.

$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){
      //hacer algo...
}

Para más referencia, revisa woocommerce/templates/checkout/thankyou.php

22 dic 2015 13:27:29
Comentarios

Nota: este evento se volverá a activar si el usuario final actualiza la página de agradecimiento por cualquier motivo.

Vivek Athalye Vivek Athalye
23 dic 2017 14:27:11

¿Existe un hook que solo funcione al guardar?

benedict_w benedict_w
24 oct 2018 15:59:46

también ten en cuenta que este hook no se activará si un usuario de alguna manera omite la página de agradecimiento

Yair Levy Yair Levy
16 feb 2020 18:06:59
0

Encontré la solución. Ya existía un pedido antiguo en mi lista de pedidos. Así que cuando estoy agregando nuevos artículos al pedido, WooCommerce simplemente actualiza mi pedido antiguo no pagado. Por eso también utilicé la acción woocommerce_resume_order. Ahora funciona correctamente.

19 dic 2015 22:12:25