Qué son y cómo se utilizan los filtros de Genesis

En este tutorial veremos qué son los filtros de Genesis, cómo se utilizan y por qué son tan útiles. Lo veremos de manera práctica con algunos ejemplos y veremos el potencial tus conocimientos del código de Genesis.

Antes de nada, vamos a definir qué son.

¿Qué son los filtros de Genesis?

Los filtros de Genesis (filter hooks) son funciones que nos permiten personalizar su funcionalidad y opciones, aprovechando el código de estos.

A diferencia de los action hooks, los filter hooks no eliminan una función o crean una nueva entera, modifican funciones existentes. 

Puede parecer muy complejo, pero practicar con ejemplos es la mejor forma de saber qué son y cómo utilizarlos.

En los próximos tutoriales veremos todos los filtros que podemos encontrar en cada ubicación. Desde la cabecera (header) hasta el pie de página (footer). 

Ejemplo: modificar el título del sitio

En este ejemplo utilizaremos el filter que se sitúa en header.php, el filtro genesis_seo_title. Con él podremos cambiar la función que implementa el título del sitio de nuestra página web. 

Gracias a él, conseguiremos que nuestro título de sitio tenga dos colores en vez de uno. Para ello, escribiremos parte de nuestro título con una etiqueta HTML <span> que contenga un estilo con el color del texto que vamos a aplicar.

Sólo tenemos que copiar este código en nuestro plugin personalizado o en el functions.php de nuestro child theme:

add_filter( 'genesis_seo_title', 'jc_titulo_nuevo', 10, 3);

function jc_titulo_nuevo( $title, $inside, $wrap ) {
   $inside = sprintf('<a href="#" title="%s"><span style="color:crimson">Joel</span> Cantero</a>', 'Diseñador web WordPress');
   return sprintf ('<%1$s class="site-title" itemprop="headline">%2$s</%1$s>', $wrap, $inside);   
}

Con este código, el título de mi sitio se verá en dos colores. En este caso, Joel en color crimson, y Cantero en color negro. Esta funcionalidad no la podríamos realizar si no fuera por los filter hooks. ¿Ahora ves el potencial que tienen?

Modificando el título del sitio gracias a los filtros de Genesis.
Utilizando los filtros de Genesis en el título del sitio.

Si no has entendido muy bien el código, no te preocupes. Indagaremos más en ellos en los próximos tutoriales.

¿Dónde se encuentran los filtros de Genesis?

Los filtros de Genesis se encuentran en los archivos del tema. Por lo tanto, en los archivos PHP de la plantilla (layout) podremos encontrar todos los filtros de Genesis.

  • Cabecera (header.php): uno de los primeros archivos que carga Genesis cuando renderiza nuestra página es la cabecera. En ella podremos encontrar los filtros del título del sitio, la descripción, el favicon y los scripts que queramos añadir.
  • Pie de página (footer.php): en el pie de página se sitúan los filtros de cambiar los créditos de texto, cambiar el footer entero, modificar los widgets y los scripts añadidos nuestros (cómo en la cabecera).
  • Bucle de entradas (post.php): el loop es el archivo que se encarga de visualizar nuestras entradas, tanto en los archivos de entradas como la plantilla individual de cada una de ellas. Hay filtros para modificar la información de cada entrada (la fecha, el autor), para que aparezca la imagen de perfil del autor, etc.
  • Comentarios (comments.php): Genesis dispone ni más ni menos que de una docena de filtros para personalizar sus funcionalidades a nuestro gusto.
  • Búsqueda (search.php): Gracias a los filtros que están en la búsqueda podemos modificar los textos del botón, de la caja y modificar el formulario.
  • Otros filtros: aparte de estos mencionados, también hay otros filtros especiales que se sitúan antes de que cargue la página (init.php), específicos de las migas de pan y algunos más específicos de otras funcionalidades de Genesis. No te preocupes, los veremos todos.

Resumen y conclusión

Para concluir, en los siguientes tutoriales veremos más a fondo cada uno de los filter hooks que nos proporciona Genesis. Sé que al principio parece un poco complicado de entender, pero a medida que te vas familiarizando con ellos se convierten en una herramienta de tu día a día en el desarrollo web.

¿Te gustan estos tutoriales más técnicos de Genesis? Ya sabes, déjame un comentario para proponerme nuevos tutoriales. Me encanta leer tu feedback 🙂

Este tutorial está inspirado en la documentación oficial de Genesis.