Toda la arquitectura extensible de WordPress y WooCommerce se sostiene sobre el sistema de Hooks (Ganchos). Gracias a los hooks, puedes modificar precios en el carrito, alterar campos del checkout, inscribir alumnos en Tutor LMS al completarse un pago o disparar peticiones hacia servicios externos sin tocar jamás un solo archivo del núcleo de WordPress.
En esta guía técnica veremos la diferencia exacta entre un Action Hook (add_action) y un Filter Hook (add_filter), cómo manejar las prioridades y el número de argumentos, y cómo se relacionan con los Webhooks de WooCommerce para integraciones en tiempo real.
1. Diferencia entre add_action (Acciones) y add_filter (Filtros)
- Action Hooks (
add_action): Ejecutan código en un momento específico del ciclo de vida de WordPress (por ejemplo, al guardar un post, al cargar el<head>o cuando un pedido de WooCommerce pasa a estado Completado). No devuelven ningún valor; simplemente realizan una tarea. - Filter Hooks (
add_filter): Interceptan un dato antes de que se guarde en la base de datos o antes de que se muestre en pantalla, lo transforman y obligatoriamente deben devolver (return) el valor modificado.
// EJEMPLO DE ACTION: Ejecutar una tarea cuando un pedido de WooCommerce se completa
add_action( 'woocommerce_order_status_completed', 'dc_notificar_pedido_completado', 10, 1 );
function dc_notificar_pedido_completado( $order_id ) {
$order = wc_get_order( $order_id );
if ( ! $order ) {
return;
}
// Aquí puedes registrar un log, activar una licencia o llamar a una API externa
error_log( 'Pedido completado #' . $order_id . ' por ' . $order->get_Formatted_order_total() );
}
// EJEMPLO DE FILTER: Modificar el texto del botón de añadir al carrito en WooCommerce
add_filter( 'woocommerce_product_single_add_to_cart_text', 'dc_personalizar_texto_boton_carrito', 10, 1 );
function dc_personalizar_texto_boton_carrito( $texto ) {
return 'Comprar ahora de forma segura'; // ¡Siempre hacer return en un filter!
}
2. Cómo funcionan la Prioridad (10) y los Argumentos aceptados
Tanto add_action como add_filter reciben hasta 4 parámetros: add_action( $hook_name, $callback, $priority = 10, $accepted_args = 1 ):
- Prioridad (por defecto
10): Un número menor (por ejemplo,5) se ejecuta antes; un número mayor (por ejemplo,20o99) se ejecuta después, lo cual es indispensable cuando quieres sobrescribir el comportamiento de otro plugin. - Argumentos aceptados (por defecto
1): Si el hook original pasa 2 o 3 variables mediantedo_action( 'mi_hook', $var1, $var2, $var3 ), debes especificar3en el cuarto parámetro para recibirlas todas en tu función.
3. Webhooks en WooCommerce: De los Hooks internos en PHP a la nube (n8n, Make y Pasarelas)
Mientras que un Hook ocurre internamente dentro del servidor PHP de tu WordPress, un Webhook de WooCommerce toma un evento interno (como woocommerce_new_order o woocommerce_subscription_status_updated) y envía un paquete JSON mediante una petición HTTP POST hacia una URL externa:
- De WooCommerce hacia n8n / WhatsApp: Cuando se crea un pedido, WooCommerce dispara el webhook hacia tu flujo de n8n y WhatsApp Cloud API.
- Desde Pasarelas de Pago (Wompi / Mercado Pago) hacia WooCommerce: En el sentido inverso, cuando Wompi o Mercado Pago procesan el cobro recurrente mensual de una suscripción, envían un Webhook firmado criptográficamente hacia un endpoint de la API REST de WordPress o
woocommerce_api_para marcar la renovación como pagada.
4. Biblioteca de Snippets con Hooks de WordPress, Elementor y WooCommerce
Explora nuestros tutoriales prácticos donde aplicamos hooks reales en producción:
- Cómo manipular datos de formularios de Elementor Pro en PHP con el hook
elementor_pro/forms/new_record. - Cómo convertir de USD a TRM COP en el checkout de WooCommerce usando filtros.
- Cómo cambiar el rol de un usuario automáticamente al comprar una suscripción en WooCommerce.
- Cómo inscribir a un usuario en Tutor LMS automáticamente mediante hooks.
Sobre el autor — Cristian Leguizamón (@crleguizamon): Desarrollador Full-Stack especializado en WordPress, WooCommerce, IA y Automatizaciones con más de 9 años de experiencia y 6 plugins publicados en el directorio oficial de WordPress.org.
¿Buscas plugins de cobro recurrente o desarrollo a medida? Explora nuestro Catálogo de Plugins para WooCommerce y WordPress o solicita soporte en DevCristian.com.