RadioWordPress #19: Jerarquía de plantillas en WordPress

Hoy vemos un poco las tripas a las plantillas de WordPress. En el desarrollo de plantillas en WordPress tenemos que tener en cuenta la jerarquía en los ficheros de las plantillas.

Las plantillas no están compuestas de ficheros aleatorios, cada fichero tiene su propia utilidad y en cada fichero podemos personalizar cosas diferentes.

Siguiendo esto todo será muchísimo más fácil.

Documentación oficial: https://developer.wordpress.org/themes/basics/template-hierarchy/

Esquema interactivohttps://wphierarchy.com/

Os dejo aquí el esquema hablado en el podcast de hoy.

[showhide type=»transcripcion» more_text=»Ver transcripción(%s más palabras)» less_text=»Esconder transcripción (%s menos palabras)»]

Transcripción

Hola a todos, mi nombre es Eduardo, esto es el podcast RadioWordpress que podéis encontrar en eduardocollado.com y hoy vamos a hablar de la jerarquía de plantillas en WordPress. Vamos a hablar de las tripas de los temas, los themes, porque los ficheros de los temas en WordPress no se situan al azar, cada uno de ellos está meticulosamente pensado y ocupa un lugar perfectamente definido, mucha gente no lo sabe, pero gran parte del éxito de WordPress recae en el desarrollo de plantillas, y se nota que WordPress cuida mucho de ello, pues la definición de lo que hace cada fichero está meticulosamente definido.

Si tenéis curiosidad de conocer como se estructuran los ficheros de las plantillas en WordPress para entender mejor como funciona, o porque queréis desarrollar vuestra propia plantilla o tema, quedaros un ratito conmigo que vamos a haber justamente de eso.

—MUSICA—

Existe una jerarquía claramente definida para los ficheros de las plantillas en WordPress, la cual viene definida en wphierarchy.com.

En esa jerarquía se definen los ficheros que tienen que responder ante cualquier tipo de página, por ejemplo, entramos en una página de un wordpress, lo primero que veremos es qué es una página de archivo, seguiremos a la derecha y veremos que se trata de una página de archivo de categoría, y veremos si tenemos un category.php, si no lo tenemos entonces miraremos si tenemos un archive.php, si lo tenemos mostraremos ese archivo.

Ahora imaginemos que queremos que en el caso que se muestre una categoría específica la plantilla sea diferente, entonces podremos usar una página intermedia llamada category-$id.php, así pues si tenemos la categoría con ID 104 que tiene que tener otra plantilla o que hay que modificar esa página en concreto podemos crear una página específica para ella, a esa plantilla la llamaremos category-104.php.

En el caso en el que no exista ninguna de las plantillas por defecto se devolverá el index, de esta manera siempre se devuelve algo.

Pues bien, esta jerarquía es la que viene definida en el wphierarchy.com.

—MUSICA—

En las notas del programa en eduardocollado.com os dejo los enlaces para que os podáis bajar el esquema, el cual os recomiendo imprimir y tener siempre delante de vuestro puesto de trabajo si es que trabajáis con WordPress ya que os va a ahorrar muchísimas horas de trabajo.

Modificar el aspecto de un WordPress es bastante fácil si seguimos las recomendaciones y si conocemos este tipo de cosas ya que no nos dedicamos a modificar ficheros a lo loco, sino que sabemos exactamente qué modificar.

Por ejemplo, vamos a suponer que queremos que cuando se pinche en la categoría podcast de un wordpress salga el reproductor de audio del podcast arriba, cosa que os tengo que decir que he probado, pero que no me ha gustado como queda, pero como ejercicio es bueno, así que creamos el fichero category-podcast.php, donde podcast es el slug de la categoría (el slug es la abreviatura que ponemos al crear la categoría) y le ponemos en la parte superior el player.

Esto va a hacer que cada vez que se cargue la página de esa categoría salga el player, pero sólo y exclusivamente en esa categoría y no en las demás.

Esto nos permite un nivel de personalización enorme de una forma muy sencilla. Por supuesto para hacer esto es muy importante estar haciéndolo o en un tema nuestro o en un child theme porque si no vamos a perder muchísimas horas de trabajo si hay una actualización.

—MUSICA—

De esta manera los child themes se pueden complicar hasta el infinito, es lo que tiene poder personalizarlos también hasta el infinito.

[/showhide]