woocommerce_thankyou
Guía del hook woocommerce_thankyou con ejemplos seguros, acceso al pedido y precauciones para evitar procesos duplicados.
- Revisado
- Compatibilidad
- WooCommerce 2.1+; plantilla thankyou.php
- Lectura
- 2 min
- Autor
- Gabriel — infinit8
woocommerce_thankyou se ejecuta en la página de pedido recibido del checkout clásico y recibe el ID del pedido. Sirve para presentar información adicional, pero no es un disparador fiable para operaciones que deban ocurrir exactamente una vez.
Cuándo se ejecuta
La plantilla checkout/thankyou.php lanza primero el hook específico del método de pago y después woocommerce_thankyou. Si el usuario recarga o vuelve a la URL, el callback puede ejecutarse otra vez.
Ejemplo básico y seguro
Valida el ID, obtiene el pedido y escapa la salida. El objeto puede no existir si la URL es inválida o el pedido ya no está disponible.
add_action(
'woocommerce_thankyou',
function (int $order_id): void {
if (!$order_id) {
return;
}
$order = wc_get_order($order_id);
if (!$order instanceof WC_Order) {
return;
}
printf(
'<p class="i8-order-message">%s</p>',
esc_html__('Gracias por tu pedido.', 'i8')
);
}
);
Evitar procesos duplicados
No envíes datos críticos, descuentes stock manualmente ni crees facturas sin controlar idempotencia. Para procesos de negocio usa cambios de estado del pedido, webhooks o Action Scheduler, según el caso.
La página de gracias puede recargarse. Mostrar contenido es apropiado; ejecutar una operación irreversible sin marca de control no lo es.
Errores frecuentes
- Asumir que el hook se ejecuta una sola vez.
- Usar el ID sin comprobar el pedido.
- Mostrar datos sensibles sin verificar permisos.
- Depender de la visita del cliente para completar una integración.
Preguntas frecuentes
¿Se ejecuta una sola vez por pedido?
No. La página puede recargarse o visitarse de nuevo, por lo que cualquier operación debe ser idempotente.
¿Sirve para cambiar el estado del pedido?
Normalmente no es el lugar adecuado. Usa la lógica del método de pago o los hooks de cambio de estado.
Referencias y revisión
Contenido contrastado con documentación oficial. Comprueba siempre el comportamiento en un entorno de pruebas antes de desplegar cambios.