woocommerce_checkout_process
Ejemplos de woocommerce_checkout_process para validar el checkout clásico y cuándo elegir otro hook.
- Revisado
- Compatibilidad
- WooCommerce; checkout clásico
- Lectura
- 2 min
- Autor
- Gabriel — infinit8
woocommerce_checkout_process permite añadir validaciones durante el procesamiento del checkout clásico. Es sencillo, aunque para reglas basadas en los datos ya preparados suele ser más claro woocommerce_after_checkout_validation.
Diferencia frente a after_checkout_validation
Este hook no entrega parámetros. Habitualmente se leen campos de la petición y se usa wc_add_notice(). El hook posterior entrega un array procesado y un objeto de errores, lo que facilita pruebas y reglas con varios datos.
Ejemplo de validación
Si debes mantener código existente basado en este hook, limita el acceso a la entrada y sanitízala antes de evaluar la regla.
add_action(
'woocommerce_checkout_process',
function (): void {
$reference = isset($_POST['order_reference'])
? sanitize_text_field(wp_unslash($_POST['order_reference']))
: '';
if ('' === $reference) {
wc_add_notice(
'Indica la referencia del pedido.',
'error'
);
}
}
);
Seguridad y experiencia de usuario
No interpolar la entrada del cliente dentro de mensajes sin escapar. Evita reglas ambiguas y coloca el foco visual en el campo con error cuando la interfaz lo permita.
Qué hook elegir
Para proyectos nuevos, elige el hook cuyo contrato ofrezca los datos necesarios y documenta que se trata del checkout clásico. Si trabajas con bloques, usa las APIs específicas del bloque.
Preguntas frecuentes
¿Este hook recibe parámetros?
No. Se ejecuta como acción sin argumentos.
¿Funciona con Checkout Blocks?
No debe asumirse. Los bloques siguen un flujo diferente y necesitan sus APIs de extensibilidad.
Referencias y revisión
Contenido contrastado con documentación oficial. Comprueba siempre el comportamiento en un entorno de pruebas antes de desplegar cambios.