Un plus de flexibilidad

Fecha de publicación: 18/10/2022

La función get_template_part es una herramienta muy útil ya que permite a los desarrolladores de temas de WordPress crear plantillas personalizadas de una manera sencilla y efectiva. En este artículo, analizaremos en profundidad esta función y exploraremos su uso en diferentes escenarios.

En primer lugar, es importante entender qué es get_template_part y cómo funciona. Para ello nos situaremos ante de una plantilla de índice típica (index.php). En ella es posible que nos encontremos con diferentes zonas perfectamente diferenciadas: navegación, zona de entradas, sidebar, relacionados… Excepto las plantillas header y footer, todo el código necesario para representar la página de inicio se encuentra dentro de la plantilla de índice (index.php). En ocasiones, esto puede convertirse en un verdadero quebradero de cabeza, ya que no siempre es sencillo lidiar con cientos y cientos de línea de código. Por otra parte, es posible que algunos fragmentos del código que hemos usado para crear dicha plantilla, deban aparecer en otras plantillas (single, page, archive…), con lo que estaremos realizando un trabajo repetitivo, que deberemos retomar cada vez que deseemos modificar una parte concreta de nuestra web.

Para evitar estos contratiempos, podemos crear fragmentos específicos de codigo que serán utilizados por diferentes archivos de plantilla y llamarlos mediante la función get_template_part. De este modo, aparte de hacer los archivos de plantilla más limpios y manejables, estaremos evitando el trabajo repetitivo, ayudando, adicionalmente, a optimizar la velocidad de nuestro sitio web.

La sintaxis básica de get_template_part es la siguiente:

Donde $slug es la parte principal del nombre del archivo parcial y $name es una identificación única opcional que se puede usar para diferenciar entre diferentes archivos parciales con el mismo $slug. Por ejemplo, si se quiere incluir el archivo parcial “header.php” en una plantilla, se puede utilizar la siguiente línea de código:

Esto buscará un archivo llamado “header.php” en la carpeta del tema actual y lo incluirá en la plantilla.

Como apuntamos anteriormente, uno de los puntos fuertes de get_template_part es la reutilización de código. Al dividir las plantillas en archivos parciales reutilizables, se puede utilizar el mismo código en diferentes plantillas sin tener que volver a escribirlo. Por ejemplo, si se quiere incluir el mismo menú de navegación en diferentes plantillas, se puede crear un archivo parcial “nav-menu.php” y llamar a get_template_part desde cada plantilla que lo necesite.

Otra característica importante de get_template_part es su flexibilidad. Si se quiere crear diferentes estilos de encabezado para diferentes secciones del sitio web, se puede crear varios archivos parciales de encabezado y utilizar get_template_part para incluir el encabezado correspondiente en cada plantilla.

El uso de get_template_part también mejora el rendimiento del sitio web. Al utilizar archivos parciales, se puede cargar solo el código necesario para cada sección de la página, lo que puede mejorar la velocidad de carga del sitio web. Además, WordPress utiliza una caché interna para mejorar aún más la velocidad de carga de las plantillas que utilizan get_template_part.

Parametros y get_template_part

Aunque no todos los proyectos web basados en WordPress que afrontamos son como las pirámides de Guiza, algunos de ellos requieren una especial atención por su complejidad. Crear infinitos loops, dotar de un aspecto distinto a cada una de las categorias existentes, entradas que cambian de apariencia dependiendo de la categoria a la que pertenecen… cientos de posibilidades que requieren código, habitualmente mucho código.

Gramo a gramo, todo ese código va alimentando nuestro proyecto hasta un punto en el que la experiencia de usuario se ve seriamente afectada.

Ahí es donde entra en juego la creatividad. La función get_template_part ofrece una gran cantidad de posibilidades cuando se asocia con parametros.

La función get_template_part acepta 3 parámetros:
$slug : el nombre de slug, de la plantilla genérica a la que se desea llamar ( Cadena – Obligatorio )
$name : el nombre de la plantilla especializada. ( Cadena – Opcional | Valor por defecto: null )
$args : argumentos adicionales pasados a la plantilla ( Matriz – Opcional | Valor por defecto: array() )

Get_template_part con un parámetro

Parámetro: $slug
Este sería el caso del ejemplo que acabamos de ver, el único parámetro que pasamos a get_template_part es el nombre del archivo y su ubicación.

En este ejemplo, get_template_part buscará el archivo loop, guardado en la carpeta parts y lo incluiría en la plantilla.

Get_template_part con dos parámetros

Parámetros: slug + $name
El ejemplo inferior muestra el código de una plantilla de WordPress, creada utilizando get_template_parts con dos parámetros. En este caso WordPress buscará los archivos llamados custom-loop  y  home combinando los argumentos separándolos con un guión. Si alguno de los archivos no existiese, se devolvería el valor de custom-loop.

Get_template_part con tres parámetros

Parámetros: $slug + $name + $args

Este último ejemplo muestra el uso de get_template_part con tres parámetros, el segundo de ellos en este caso con valor null. El tercer parámetro, $args nos permite definir una gran cantidad de valores. En este ejemplo AbsolutePosition indica la posicion del post en la homepage, position1 y position2 están relacionados con las propiedades css del contenedor y  size  indica las medidas de la imagen de cada entrada.

Una vez creado el archivo que vamos a usar como base -en este caso el superior-, debemos pasar los valores de cada uno de los argumentos que hallamos definido con anterioridad, en este caso absolutePosition, size, position1 y position2 en el lugar donde deseemos ubicar, en este caso nuestros loops.

De este modo, y usando un solo archivo, podemos modificar las características de cada una de las entradas de una página usando get_template_part.

El valor del reciclado

get_template_part permite separar el código en archivos parciales reutilizables que se pueden incluir en múltiples plantillas. Esto hace que sea más fácil mantener el código y hacer cambios en una plantilla que se aplicarán automáticamente en todas las plantillas que la utilizan.

Compatibilidad

/

Mejora del rendimiento

Al ser una función integrada en WordPress, es compatible con la mayoría de los temas y plugins.

Puzzle/