Hook

Un Hook es el mecanismo central de extensibilidad de WordPress. En lugar de modificar el código fuente (lo que se perdería en cada actualización), enganchas tu código a puntos predefinidos del ciclo de ejecución.

Existen dos tipos:

  • Action hooks — ejecutan código en un momento concreto. No devuelven nada.
  • Filter hooks — interceptan un valor, permiten modificarlo y lo devuelven.

Analogía

Imagina una línea de producción. Los hooks son las estaciones donde puedes insertar una operación (action) o modificar el producto que pasa (filter), sin tocar el resto de la cadena.

// Action: hacer algo cuando ocurre un evento
add_action( 'wp_footer', 'mi_funcion' );

// Filter: modificar un valor antes de que WordPress lo use
add_filter( 'the_title', 'modificar_titulo' );

¿Dónde se usan?

En functions.php del tema o en el archivo principal del plugin. Nunca directamente en los archivos del núcleo de WordPress.

Hooks más usados en el día a día

  • init — inicio de WordPress, antes de enviar cabeceras
  • wp_enqueue_scripts — para cargar CSS y JS
  • admin_menu — para añadir páginas al admin
  • save_post — cuando se guarda un post
  • the_content — para modificar el contenido antes de mostrarlo
  • wp_head — para añadir código en el <head>