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' );
- Para crear la función:
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 elreturn, 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 );
- Para modificar el dato:
Ejemplo real: Quieres que todas las palabras «WordPress» en tus artículos aparezcan en negrita automáticamente. Usarías el filtro
the_content.