Skip to main content
Descubre qué son los Hooks de WordPres y para qué pueden servirte

¿Qué son los Hooks de WordPress?

Seguro que has oído hablar alguna vez de los Hooks  o ganchos (en español) de WordPress. Sobre todo, si la página web de tu negocio está alojada en este Gestor de Contenidos (CMS). Hoy queremos decirte no solo qué son, sino también el porqué de su importancia, sus distintos tipos y cómo, a nivel de programación, pueden serte de gran ayuda.

Con todo, antes de empezar, es necesario hacer una aclaración: si bien no necesitas ser un programador para entender qué son o incluso para usarlos a nivel básico, lo cierto es que te aconsejamos tener unas nociones previas de PHP (como ya sabréis el lenguaje en que está programado WordPress) para sacarles el máximo provecho posible.

Y dentro de poco comprobarás por qué vas a quererles sacar el máximo provecho de cara a la web de tu empresa/ blog/ página personal. En Especialistas Web hacemos uso de ellos continuamente con cada uno de nuestros clientes, pues son claves para conseguir que las webs de sus respectivos negocios sean únicas y eficientes.

 

Definición de los Hooks de WordPress

 

¿Qué son los Hooks de WordPress?

A diferencia de otros CMS, la arquitectura de WordPress está basada principalmente en eventos que ejecutan determinadas características o funciones. Dentro de esa arquitectura los Hooks son esenciales para, por ejemplo, crear tus propios Temas y Plugins de WordPress. 

Los Hooks de WordPress (o “Ganchos”) son “lugares” concretos y estratégicos que se encuentran a lo largo y ancho de WordPress que permiten añadir funcionalidades (código) o modificar el existente (un comportamiento).

De este modo, cuando la secuencia de carga llega a esa ubicación concreta dentro de WordPress (a ese Hook) se ejecuta la función (el código adicional) que has “enganchado”. 

¿Y para qué sirve todo esto?

Básicamente, para modificar el comportamiento en tiempo de ejecución (el tiempo que tarda desde que el usuario introduce la URL (o hace clic en un enlace) y el contenido se muestra (lo que se procesa en el servidor)) de WordPress sin tener que toquetear los archivos fuente directamente.

 

¿Por qué los Hooks de WordPress son importantes para tu negocio?

¿Te imaginas poder hacer cambios en las diversas funcionalidades de WordPress sin tener que modificar los archivos Core de WordPress (es decir, archivos fundamentales del núcleo de WordPress) correspondientes? 

A través de estos Ganchos de WordPress no solo podrás cambiar, agregar, o eliminar diversas funcionalidades sin necesidad de modificar el núcleo de WordPress, sino que además lo harás de forma ordenada (optimizando la administración interna de la página) y manteniendo los cambios cuando lleves a cabo alguna actualización del CMS. 

Pero eso no es todo.

Los Hooks te ayudarán a crear tus propios Shortcodes y Temas de WordPress, así como Plugins; evitando por lo tanto tener que instalar Plugins externos de WordPress que ralenticen la velocidad de carga de tu sitio web. Personalización y optimización. ¡Todo ventajas! 

 

Los distintos Tipos de Hooks que has de conocer

 

Tipos de Hooks

Existen miles de Hooks a tu disposición. Ganchos que ya están preparados dentro del propio WordPress para que puedas añadir tu código personalizado en determinados lugares estratégicos. 

En concreto, podemos encontrar más de 2.000 entre Actions y Filters. Y eso solo si hablamos de WordPress, porque los Temas y Plugins tienen los suyos propios. En definitiva: una locura.

Con todo, aunque existen miles de ellos, podemos clasificarlos en tan solo dos categorías diferentes: Acciones (Actions Hooks de WordPress) y Filtros (Filters Hooks de WordPress)

Si bien se usan de la misma forma, el valor que devuelve cada uno de ellos es diferente: 

 

Action Hooks o Acciones

Las Acciones son aquellos Hooks de WordPress que te permitirán añadir nuevas funcionalidades de cosecha propia, pero no devuelven ningún valor.

Lo que hacen estas Action Hooks es ejecutar la función para la que han sido creadas en un determinado lugar y en un determinado punto de la línea de ejecución de WordPress (similar a la ejecución de código por eventos). Pudiendo ser ese “determinado punto”, por ejemplo:

  • Mostrar un formulario.
  • Validar un usuario.
  • Insertar Scripts.

¿Cómo saber dónde puedes insertar una de estas Actions Hooks? Fácil; buscando la función do_action() dentro de WordPress. Una vez tengas esta localizada, podrás hacer uso de estos Ganchos (es decir, insertar tu propio código) mediante la función add_action.

Una función add_action de WordPress ha de contar con los parámetros “nombre del hook” y el “nombre de tu función personalizada”. Otro tipo de parámetros, como la “prioridad de ejecución” o la “cantidad de argumentos pasados a la función” son opcionales. 

Ejemplo de función add_action de WordPress:

add_action( string $hook, callable $tu_funcion, int $prioridad = 10, int $args = 1 )

 

Filter Hooks o Filtros

Cuando hablamos de programación, pasar un filtro consiste en realizar un cambio a algún dato. Por ejemplo, pasar un filtro a un texto podría conllevar el sustituir ese texto por otro, convertirlo a mayúsculas, etc.  

Los Filters Hooks te permitirán también ejecutar un código personalizado en un determinado punto. Sin embargo, a diferencia de las Actions Hooks, los Filtros devolverán siempre un valor modificado.

Es decir, los Filter Hooks tendrán un parámetro de entrada, se realizarán modificaciones de dicho parámetro y, finalmente, volveremos de nuevo al parámetro con una variable en la mano. Variables que, por ejemplo, pueden ser:

  • Cadenas de texto.
  • Arrays.

¿Cómo saber dónde puedes insertar uno de estos Filter Hooks? En este caso, has de buscar la función apply_filters() y, para insertar tu propio código personalizado, hacer uso de la función add_filter. 

Una función add_filter de WordPress cuenta con dos parámetros obligatorios: el “nombre del hook” y el “nombre de tu función personalizada”. Los parámetros “prioridad de ejecución” y la “cantidad de argumentos pasados a la función” son totalmente opcionales. Es decir, hasta aquí es exactamente lo mismo que ocurría con las funciones add_action de WordPress.

Ahora bien, a diferencia de esas otras funciones, los Filtros han de tener un parámetro de entrada por defecto, al cual deberás volver después de haberlo cambiado. Esta es la principal diferencia entre ambos tipos de Hooks.

Ejemplo de función add_filter de WordPress:

add_filter( string $hook, callable $tu_funcion, int $prioridad = 10, int $args = 1 )

 

Aprende a cómo localizar los Hooks en WordPress

 

¿Cómo localizar los Hooks en WordPress? 

Como habíamos mencionado anteriormente, hay miles y miles de Hooks “escondidos” a lo largo y ancho del código de WordPress. Localizarlos es esencial para que puedas insertar tus propias funcionalidades.

Ahora bien, ¿cuál es el método idóneo para ello?

Pues como también señalábamos antes, lo ideal es buscar las funciones do_action y apply_filter.

Ahora bien, también puedes buscarlos de forma alfabética gracias a hookr.io (un directorio donde poder encontrar, de forma alfabética, estos Hooks para facilitar su localización) o en el listado oficial de Hooks.

 

En conclusión

Usa los Hooks de WordPress para introducir funciones personalizadas (temas, Shortcodes, Plugins, etc.) y hacer el sitio web de tu negocio más único que nunca. Único respecto a tu competencia tanto a nivel de diseño como de funcionalidades que generen una mejor experiencia de usuario, que hagan más eficiente tu sitio web. 

Son estos “detalles” los que marcan la diferencia entre una página web del montón y un sitio web que destaca y, sobre todo, vende. 

Si quieres conseguir esta diferenciación e ir un paso más allá te recomendamos lanzarte de llenos en el Codex de WordPress (el lugar donde están publicado todo el código o Core de WordPress, las funciones y tal). 

No dudes en contactar con nosotros siempre que lo necesites, ya sea respecto a los Hooks o cualquier otro aspecto relacionado con tu página web. En Especialistas Web estamos más que acostumbrados a tratar con este tipo de códigos y con clientes de todo tipo, ¡así que seguro también podremos ayudarte a que tu negocio luzca más único que nunca!