1. Actions (Acciones)

Las Actions son puntos de interrupción en la ejecución de WordPress donde puedes «colgar» tu propio código.

  • Propósito: Añadir o quitar funcionalidades. Ejecutan procesos.
  • No devuelven nada: Una acción realiza una tarea (escribir en la base de datos, enviar un correo, cargar un estilo) pero no necesita devolver un valor al sistema.
  • Sintaxis básica:
    • Para crear la función: add_action( 'nombre_del_hook', 'tu_funcion' );
    • Para ejecutarla (si creas tu propio hook): do_action( 'nombre_del_hook' );

Ejemplo real: Quieres que cada vez que se publique una entrada, se envíe automáticamente un mensaje a un canal de Slack. Usarías el hook publish_post.

2. Filters (Filtros)

Los Filters son más sutiles. Se utilizan para interceptar y transformar datos antes de que WordPress los procese, los guarde en la base de datos o los renderice en la pantalla.

  • Propósito: Modificar el contenido.
  • Regla de oro: Un filtro siempre debe devolver (return) el valor que recibió, ya sea modificado o no. Si olvidas el return, romperás la cadena de datos y lo que sea que estés filtrando desaparecerá (ej: el cuerpo de tus posts se quedará en blanco).
  • Sintaxis básica:
    • Para modificar el dato: add_filter( 'nombre_del_hook', 'tu_funcion_modificadora' );
    • Para aplicar el filtro: apply_filters( 'nombre_del_hook', $valor_a_filtrar );

Ejemplo real: Quieres que todas las palabras «WordPress» en tus artículos aparezcan en negrita automáticamente. Usarías el filtro the_content.