La jerarquía de plantillas de WordPress es una de las cosas más influyentes en la vida de los desarrolladores de temas. Los usuarios pueden necesitar entenderlo, los complementos pueden necesitar interactuar con él, pero generalmente es la tematización lo que se trata de la jerarquía de plantillas.
Esto se debe a que es la jerarquía de plantillas de WordPress la que determina cuál de los archivos de un tema se utiliza en un momento dado. Es decir: la jerarquía de plantillas es la base sobre la que los themers de WordPress hacen su arte.
El propósito de este artículo es aclarar aún más esta idea. Definiremos lo que hace la jerarquía de plantillas, por qué necesita saber sobre ella para ser un modificador efectivo de los sitios de WordPress, y hablaremos sobre cómo trabajar con ella y (muy brevemente) cómo funciona.
- ¿Qué es la Jerarquía de plantillas?
- Recorrer la jerarquía de plantillas
- El último recurso: Qué y por qué
- Por qué existe la jerarquía de plantillas de WordPress
- Una discusión rápida de Temas Secundarios
- Por qué necesitas entender la Jerarquía de Plantillas de WordPress
- Cómo trabajar con la jerarquía de plantillas de WordPress
- Cómo Funciona la Jerarquía de Plantillas Dentro del Código de WordPress
- Más información sobre la jerarquía de plantillas
- Ahora Usted Sabe la Plantilla de WordPress Jerarquía!
¿Qué es la Jerarquía de plantillas?
En su esencia, la jerarquía de plantillas es la estructura de elección que WordPress utiliza para determinar qué archivo en el tema se utilizará para generar el HTML completo y final para una página determinada de su sitio web de WordPress.
WordPress necesita tener una forma de saber cómo interactuar con el tema. Sería posible que alguien pudiera escribir varios tipos diferentes de lógica PHP compleja para su tema que explicara a WordPress cómo interactuar con él. Podría, tal vez, ser una clase PHP que coincidiera con una interfaz definida por WordPress (en el sentido de programación orientada a objetos) a la que cada tema tendría que responder.
Pero eso es complicado de leer, y mucho menos a hacer. Y ese es precisamente el punto de la jerarquía de plantillas: para que WordPress pudiera usar con éxito diferentes temas, pero también hacer que sea relativamente fácil crear y modificar temas, se necesitaba una solución más simple. Y eso es lo que es la jerarquía de plantillas.
En su esencia, la jerarquía de plantillas es la estructura de elección que WordPress utiliza para determinar qué archivo del tema se utilizará para generar el HTML completo y final de una página determinada de su sitio web de WordPress.
La mayoría de los archivos en un tema de WordPress son en realidad miembros de la jerarquía de plantillas, y WordPress elegirá llamar a uno de ellos dependiendo del tipo de información que esté tratando de mostrar.
Recorrer la jerarquía de plantillas
Si WordPress necesita mostrar las publicaciones (o cualquier tipo de contenido) de un autor (usuario) específico en un sitio de WordPress, tiene un par de necesidades. Principalmente:
- Debe facilitar a alguien la creación o modificación de un tema para personalizar una página
- Debe asegurarse de que si no se necesitaran personalizaciones, tendrá algo que usar
Para lograr esto, la jerarquía de plantillas probará diferentes archivos en el tema actualmente activo. Si existen, los usará. Si no lo hacen, seguirá adelante.
Así que al buscar la plantilla para usar para presentar todas las publicaciones para un autor determinado, hagamos que el nombre de usuario del autor sea «david», que tiene un id
de 3
. (Seguramente una coincidencia. ; p) WordPress necesita saber qué archivo de su tema actual usar. Así que así es como se ve a través de sus archivos de tema:
- ¿Existe el archivo
author-david.php
? No - ¿Existe el archivo
author-3.php
? No exist - ¿Existe el archivo
author.php
? No exist - ¿Existe el archivo
archive.php
? No - ¿Existe el archivo
index.php
? Sí!
Notarás que hay cinco «no»antes de que WordPress obtenga un sí. Cada uno de ellos y la siguiente pregunta son la jerarquía de plantillas. Tan pronto como WordPress llega a un «sí» en una de estas preguntas, el rol de la jerarquía de plantillas está listo. Pero esto es realmente importante.
El archivo que se encuentra es responsable del HTML de toda la página. Literalmente, todo lo que WordPress hace o muestra en una página de su sitio proviene de un solo archivo de jerarquía de plantilla en su tema. (Como probablemente ya sabes, eso no significa que todas las cosas que WordPress hace estén atascadas en ese archivo, pero las formas en que se extraen esas otras cosas están fuera del alcance de este artículo.)
Así que son estas preguntas (WordPress decidió qué buscar en función de la URL que la persona está visitando) las que conforman la jerarquía de la plantilla. Y para que lo sepas, si no tienes un index.php
, no tienes un tema de WordPress. Esa es la última parada para cada parte de la jerarquía de plantillas.
El último recurso: Qué y por qué
Como acabo de decir, sin un index.php
, no tienes un tema de WordPress. Pero, si tiene uno, realmente no necesita ningún otro archivo que pueda usar de la jerarquía de plantillas. Esa es la otra cosa que hay que darse cuenta.
WordPress necesita, como dijimos anteriormente, cierta certeza de que siempre podrá crear una página para el usuario final. Un tema debe proporcionar eso. Para eso es para lo que está la jerarquía de plantillas. Pero la necesidad de un respaldo final es absoluta, y es por eso que WordPress no te permite habilitar un tema que no tenga un archivo index.php
.
Por qué existe la jerarquía de plantillas de WordPress
La jerarquía de plantillas existe para facilitar a los diseñadores y desarrolladores de temas personalizar el aspecto de un sitio de WordPress. Es muy común que un cliente haga que las páginas de» archivo de etiquetas » para su blog sean diferentes de la página de un solo post. Por lo tanto, la jerarquía de plantillas de WordPress admite esa necesidad.
Como mencionamos anteriormente, hay alternativas a la jerarquía de plantillas que uno puede imaginar. Pero pocos de ellos son buenos. Y esa, fundamentalmente, es toda la razón por la que existe la jerarquía de plantillas.
Una discusión rápida de Temas Secundarios
Como sabrás, WordPress tiene estas cosas llamadas temas secundarios. Y realmente, los temas secundarios de WordPress son más de la mitad de la razón para amar la jerarquía de plantillas. Los temas secundarios son una forma en que los diseñadores y desarrolladores pueden hacer pequeños ajustes en páginas específicas de un sitio sin tener que crear un tema completo para ellos mismos.
El diseño completo de los temas secundarios es un tema de discusión mucho más allá de este artículo. Para obtener más información sobre los temas secundarios, estos dos artículos en WPShout, o este en el WordPress.org sitio.
Lo principal que hay que saber sobre los temas secundarios es que la jerarquía de plantillas de WordPress los conoce y trabaja con ellos. Así que lo que expliqué anteriormente sobre la búsqueda de archivos de arriba para una plantilla de autor es en realidad un poco diferente si se está utilizando un tema hijo. Si lo hace, se verá como:
- ¿Existe el archivo
author-david.php
en el tema hijo? No - ¿Existe el archivo
author-david.php
en el tema principal? No - ¿Existe el archivo
author-3.php
en el tema hijo? No - ¿Existe el archivo
author-3.php
en el tema principal? No - ¿Existe el archivo
author.php
en el tema hijo? ¡SÍ!
Notarás que hay más pasos para llegar tan lejos en la jerarquía de plantillas. También notará que el tema hijo siempre está marcado primero. Esto es algo muy importante sobre la jerarquía de plantillas y los temas secundarios: sus archivos siempre superan a los de un padre, en lo que respecta a la jerarquía de plantillas.
Por qué necesitas entender la Jerarquía de Plantillas de WordPress
La tematización sin tener una buena comprensión de la jerarquía de plantillas es casi imposible. Tal vez puedas hacerlo, pero se sentirá como magia confusa y desconcertante.
También ayudará, si está tratando de hacer eso, conocer algunos complementos que hacen que la jerarquía de plantillas sea un poco más clara: Qué Plantilla y Mostrar la Plantilla actual. Ambos hacen lo mismo (lo cual es útil si también conoces la jerarquía de plantillas): te dicen qué archivo de jerarquía de plantillas se está utilizando para construir una página determinada. En realidad, ambos te dicen un poco más que eso, pero ese es su uso principal (al menos para mí).
Por qué necesitas conocer la jerarquía de plantillas y comprender su estructura, incluso con qué Plantilla de tu cinturón de herramientas, es que la usarás para «anular».»Para la creación de temas secundarios, una «anulación» es tan fácil como crear un archivo con el mismo nombre en su tema secundario y llamarlo bueno. Pero cuando estés tratando de ser más específico que eso, necesitarás referirte a un diagrama de jerarquía de plantillas. Ahí es donde siempre busco wphierarchy.com. WordPress.org tiene un diagrama, al igual que una búsqueda de imágenes de Google. Pero nada es más rápido de acceder desde un estado inactivo que este sitio.
Cómo trabajar con la jerarquía de plantillas de WordPress
Si has leído linealmente, creo que ya tienes una respuesta bastante buena a esta pregunta. Pero esto es internet y sé que la gente descremada. Se trabaja con la jerarquía de plantillas creando un tema. Ya se trate de un tema autosuficiente o de un «hijo» que se apoya en un «padre», los archivos de un tema son fundamentalmente la forma en que cambia la forma en que trabaja con la jerarquía de plantillas.
Básicamente, creas el archivo que coincide con la jerarquía de plantillas en la que intentas cambiar el aspecto de la página. Así que si estás tratando de hacer que el HTML de una sola página se vea diferente, podrás especificar una plantilla de página o crear un archivo en tu tema con el ID de esa publicación incluido.
Ninguno de estos son perfectos. Pero así es fundamentalmente como funciona.
Cómo Funciona la Jerarquía de Plantillas Dentro del Código de WordPress
«¿Cómo funciona la jerarquía de plantillas de WordPress?»es realmente una pregunta académica a la que casi ningún desarrollador de WordPress necesita una respuesta. Pero, un día me encontré preguntándome casualmente, y así lo busqué. Y salió este artículo:
La respuesta corta, para aquellos interesados en leer esto pero no lo suficiente como para hacer clic, es un montón de if
s y elseif
s en código PHP. No mucho más. No es el código más elegante que subyace a esta faceta poderosa e importante de WordPress, pero funciona bien y habilita todos los temas que has conocido y amado en WordPress. Muy cool!
Más información sobre la jerarquía de plantillas
Si es nuevo en algunos de los conceptos de este artículo, o simplemente necesita un repaso, consulte estos otros artículos que tenemos. Primero, dos para principiantes:
Entonces, para aquellos que buscan profundizar y pensar más en la jerarquía de plantillas y cómo funciona, y cómo necesita trabajar con ella:
Ahora Usted Sabe la Plantilla de WordPress Jerarquía!
Con esto en tu haber, tienes un buen sentido de la jerarquía de plantillas de WordPress: que es la forma en que WordPress interactúa con un tema para determinar cómo construir el HTML que mostrará a los visitantes de tu sitio. Y espero que también entiendas por qué WordPress tiene una jerarquía de plantillas (para hacer que los temas funcionen con ella) y por qué la usarás (para personalizar las páginas de tu sitio, a través de tu tema, más fácilmente). Y espero que también sepan cómo interactuar con él: agregando o eliminando los archivos con los que interactúa. Con eso, happy hacking!