Jerarquía de plantillas de WordPress – Guía completa
Si quieres acceder a todo el potencial de WordPress, es útil saber un poco sobre las plantillas. Cuando WordPress muestra una página, usa plantillas para determinar cómo debe verse todo. Además, la plataforma se adhiere a una estricta jerarquía que mantiene las cosas organizadas.
Saber qué es la jerarquía de plantillas de WordPress (WordPress Template Hierarchy) y cómo funciona te permitirá personalizar el tema de tu sitio web con más detalle.
La jerarquía de plantillas de WordPress está organizada en siete categorías principales:
- Página de inicio del sitio
- Entradas individuales
- Páginas individuales
- Páginas de categorías y de etiquetas
- Tipos de publicaciones personalizadas (Custom Post Types)
- Páginas de resultados de búsqueda
- Páginas de error 404
En esta guía, te presentaremos las plantillas de WordPress y su jerarquía. También te explicaremos cómo los temas usan archivos de plantilla para mostrar las páginas de tu sitio web. Tenemos mucho camino por recorrer, ¡así que entremos en materia!
Descarga la hoja de trucos de WordPress definitiva
Tabla de Contenidos
Introducción a los Archivos de plantilla (y cómo se relacionan con los temas de WordPress)
Cuando creas un sitio web estático básico, normalmente solo usarás HTML y CSS para renderizarlo y personalizar su apariencia. WordPress, por otro lado, es mucho más poderoso. La plataforma se basa en el lenguaje PHP y utiliza varios archivos .php para determinar cómo aparece cada aspecto de tus páginas.
Dale un vistazo al lado derecho de este post, por ejemplo. Hay una barra lateral que te muestra otras publicaciones relacionadas de nuestro blog.
Cuando tu navegador le dijo a WordPress que cargara esta publicación, también trajo con sigo varios archivos de ‘plantilla’, uno de los cuales se llama sidebar.php. Ese archivo incluye información sobre cómo mostrar la barra lateral que estás viendo en este momento, y qué elementos debe incluir:
Las barras laterales son, por supuesto, solo una parte de lo que conforma una página completa. La mayoría de las páginas de WordPress requieren varios archivos de plantilla para funcionar, incluidos los siguientes:
- index.php
- header.php
- sidebar.php
- footer.php
- functions.php
- single.php
- comments.php
Ten en cuenta que estos son solo algunos de los archivos de plantilla que encontrarás en WordPress. header.php, sidebar.php y footer.php son particularmente importantes, ya que son lo que se conoce como ‘parciales de plantilla’. Esto significa que pueden integrarse en muchas otras plantillas.
El enfoque de WordPress para renderizar páginas puede parecer complejo al principio. Sin embargo, en realidad es bastante eficiente. Si tuvieras una plantilla única para cada página de tu sitio web, la personalización sería una pesadilla.
El enfoque modular de WordPress con respecto a las plantillas te permite realizar cambios en un solo archivo y usar ese elemento en todo tu sitio web dondequiera que lo necesites.
Cuando se trata de elegir qué plantillas usar para cada página, lo primero que hará WordPress es verificar qué tema estás usando. Cada tema incluye su propio conjunto de archivos de plantilla que tendrá prioridad sobre todos los demás. Eso es parte de lo que llamamos la “jerarquía de plantillas” (en inglés, WordPress Hierarchy) de WordPress en acción, que es algo que vamos a explorar en la siguiente sección.
Ahora que comprendes cómo WordPress renderiza tus páginas, podrías comenzar a entender que los temas son básicamente una colección de archivos de plantilla. En la práctica, un tema solo necesita un archivo de plantilla para funcionar, y ese es index.php.
Sin embargo, la mayoría de los temas incluyen muchas más plantillas. Para todo aquello que un tema no incluye, WordPress recurre a otros archivos en su jerarquía para completar esos vacíos.
Cómo funciona WordPress Hierarchy para las plantillas
En la sección anterior, te presentamos algunos ejemplos de archivos de plantillas de WordPress. Sin embargo, esas son solo algunas de las plantillas que se pueden usar cuando se carga una página o post. La WordPress Hierarchy es lo que determina qué plantillas se usan y en qué orden.
Si intentas cargar la página de una hipotética categoría de hosting, por ejemplo, esto es lo que sucede en segundo plano:
- WordPress buscará un archivo de plantilla llamado category-hosting.php en el directorio de tu tema actual.
- Si no hay un archivo category-hosting.php, WordPress buscará uno que use la ID de la categoría en su lugar, como category-2.php.
- Si WordPress no encuentra ninguna de esas opciones, buscará un archivo genérico category.php en su lugar.
- Si no encuentra un archivo llamado category.php, WordPress volverá a intentar y buscará la plantilla archive.php.
- Finalmente, si todo lo demás falla, la plataforma cargará el archivo index.php de tu tema y lo usará como la plantilla de la página.
Ciertos archivos de plantilla siempre tienen prioridad sobre los demás, razón por la cual están organizados en una jerarquía. En términos generales, los sitios web de WordPress se componen de siete categorías de páginas, cada una con su propia jerarquía estrictamente definida. A continuación, exploremos cuáles son esas categorías y cómo funcionan sus jerarquías.
Desglosando la jerarquía de plantillas de WordPress (7 categorías)
En lo que respecta a WordPress, todos los sitios web se pueden dividir en siete tipos de páginas. Cada una de estas categorías tiene una jerarquía de plantillas de WordPress incorporada, que veremos a continuación paso a paso.
1. Página principal del sitio
En primer lugar, hablemos de la página principal de tu sitio web. Cuando WordPress carga tu página de inicio, lo primero que buscará es un archivo front-page.php. Si ese archivo no está disponible, la plataforma recurrirá a home.php. Si faltan ambos archivos, WordPress recurrirá al siempre confiable archivo index.php, que siempre está allí (de lo contrario, tu tema no funcionaría).
En otras palabras, así es como esta jerarquía particular se desglosa:
- front-page.php
- home.php
- index.php
Incluso si estos tres archivos son exactamente iguales, WordPress seguirá su lógica interna. Esta jerarquía particular es bastante simple, por supuesto. Ahora, profundicemos en un tipo de página que es un poco más compleja.
2. Entradas individuales
Los artículos de WordPress (como el que estás leyendo) se incluyen en la categoría de entradas individuales. Cerca del comienzo de esta sección, hablamos sobre algunos de los archivos de plantilla involucrados en la renderización de una entrada.
Sin embargo, esos eran en su mayoría elementos internos. Antes de que WordPress pueda renderizarlos, debe determinar qué archivo de plantilla usar para la página como un todo.
Así es como funciona la jerarquía de entradas individuales:
- single-{post-type}-{slug}.php
- single-{post-type}.php
- single.php
- singular.php
- index.php
Probablemente no reconozcas algunos de esos archivos de plantilla, así que démosles un poco de contexto. El primero en la lista es single-{post-type}-{slug}.php. Un ejemplo más práctico podría ser single-product-ca-12.php, en el caso de una tienda virtual. Para decirlo de otra manera, WordPress buscará un archivo de plantilla único para cada entrada que cargues dentro de su categoría específica.
Si la plataforma no puede encontrar una plantilla relevante, recurrirá a single-{post-type}.php y así sucesivamente, hasta que inevitablemente llegue de nuevo a index.php.
En la práctica, este enfoque te permite diseñar plantillas personalizadas para entradas o productos individuales. Sin embargo, si prefieres usar una sola plantilla para todas tus entradas, para eso está single.php.
3. Páginas individuales
Las páginas individuales tienen su propia categoría con WordPress. Por ejemplo, tomemos el sitio web de Hostinger como un todo. https://www.hostinger.es es nuestra página de inicio, y cuando se accede carga la plantilla front-page.php. Otras secciones del sitio web, como https://www.hostinger.es/hosting-web, caen en la categoría de páginas individuales.
Una página individual sigue esta jerarquía:
- Archivo de plantilla personalizada
- page-{slug}.php
- page-{id}.php
- page.php
- singular.php
- index.php
Notarás que el primer elemento de la lista no es un nombre de archivo. Esto se debe a que WordPress puede reconocer varios tipos de contenido como páginas individuales. Por ejemplo, si estás trabajando con una entrada, WordPress se ajustará por defecto a la jerarquía que discutimos anteriormente.
Las páginas individuales, por otro lado (como /hosting-web) pasarán directamente a page-slug.php. En nuestro ejemplo, esto sería page-hosting-web.php (si tal archivo existe).
A partir de ahí, esta jerarquía funciona igual que con las entradas. Si no hay un archivo de plantilla para el slug único de una página, WordPress buscará uno que coincida con su ID, y así sucesivamente. Como siempre, todas las líneas conducen a index.php al final, si no te bajas en una estación anterior.
4. Páginas de categoría y de etiquetas
Como recordarás, en realidad cubrimos la jerarquía de categorías anteriormente en este artículo como un ejemplo. En cualquier caso, recapitulamos las plantillas que cubre esta jerarquía, en orden:
- category-{slug}.php
- category-{id}.php
- category.php
- archive.php
- index.php
Esta jerarquía funciona igual que para las entradas y las páginas individuales. WordPress buscará una plantilla que sea única para la categoría que quieres cargar, primero buscando un nombre de archivo que incluya su slug y luego continando con su ID.
Si ese enfoque falla, se irá con category.php en su lugar, y luego archive.php. Tu archivo de WordPress debería incluir entradas de todas tus categorías, después de todo, por lo que tiene sentido incluirlo dentro de esta jerarquía en particular.
También hemos incluido las etiquetas de WordPress en esta sección, porque ambos son elementos taxonómicos. Además, sus jerarquías son exactamente iguales, excepto que reemplazará todas las instancias de category con tag. category-{slug}.php se convierte en tag-{slug}.php, y así sucesivamente.
5. Tipos de publicaciones personalizadas
En caso de que no esté familiarizado con los tipos de publicaciones personalizadas o custom post types, básicamente son tipos de contenido que no están dentro de las clasificaciones predeterminadas de WordPress. Por ejemplo, si tienes un blog que se centra en las calificaciones, es posible que quieras crear un tipo de publicación personalizado llamado calificaciones y personalizarlo para incluir funciones adicionales.
Crear tipos de publicaciones personalizadas, sin embargo, es un tema para otro momento. Por ahora, basta decir que estos tipos de contenido tienen su propia jerarquía:
- archive-{post_type}.php
- archive.php
- index.php
Como puedes ver, esta jerarquía no está tan desarrollada como algunas de las otras. Sin embargo, todavía tienes un par de niveles de plantillas antes de llegar a index.php, que es suficiente para crear páginas complejas.
6. Páginas de resultados de búsqueda
Las cosas se vuelven un poco más simples ahora con estos dos últimos tipos de páginas de WordPress. Primero tenemos los resultados de búsqueda, que en la mayoría de los casos son extremadamente simples en lo que respecta a su diseño. Esa simplicidad se refleja en su jerarquía:
- search.php
- index.php
En este caso, WordPress simplemente pasa de forma predeterminada a index.php si no puede encontrar una plantilla personalizada para tu página de resultados de búsqueda. Sin embargo, la mayoría de los temas modernos sí incluirán algún tipo de personalización para tu página de búsqueda.
7. Páginas de error 404
Las páginas de error son una cosa que esperas que tus usuarios nunca tengan que ver, pero es importante tenerlas por si acaso. Recién instalado, WordPress no incluye páginas de error personalizadas, pero es bastante fácil configurar una.
Si creas tu propia página de error, WordPress la buscará primero, como lo demuestra esta jerarquía:
- 404.php
- index.php
En nuestra opinión, puede valer la pena configurar una página de error personalizada si tienes niveles de tráfico decentes. De esta forma, no asustarás a los visitantes en la rara ocasión en que aparezca un error en tu sitio web.
La WordPress Hierarchy en acción
Para esta última sección, vamos a ver cómo la WordPress Hierarchy podría funcionar en una situación del mundo real. Usaremos un sitio web hipotético como ejemplo.
Imagina que has creado un sitio web que incluye una página de inicio, un par de páginas individuales y muchas entradas del blog. También estás utilizando un tema personalizado que incluye estos archivos de plantilla:
- index.php
- home.php
- page.php
- archive.php
- category.php
Esta es una colección pequeña y ordenada de archivos de plantilla, pero es más que suficiente para potenciar un sitio web. En este caso, si visitaras la página de inicio, WordPress cargaría la plantilla home.php.
Aquí hay algunos ejemplos de otras páginas que podrías visitar y los archivos de plantilla que usarían:
- Una entrada cualquiera cargaría a index.php como su archivo de plantilla, porque no hay otras opciones desde su jerarquía.
- Cualquier categoría que quieras visitar utilizará category.php, ya que está disponible. Si no fuera así, WordPress cargaría archive.php en su lugar.
- Tus páginas individuales usarían page.php, pero pasarían a index.php si la anterior no estuviera disponible.
- Como no tienes una página de error, WordPress usaría index.php como plantilla en esa situación.
Hay muchos más ejemplos que podríamos usar, pero estos deberían darte una idea de cómo funcionaría este sitio. Las plantillas que WordPress usará están determinadas por los archivos que tu tema ha configurado y las jerarquías que te presentamos anteriormente.
Con suerte, la información que hemos incluido aquí puede servir como referencia si alguna vez necesitas trabajar con la jerarquía de plantillas de WordPress en el futuro.
Conclusión
La jerarquía de plantillas de WordPress (WordPress Hierarchy) parece compleja a simple vista. Sin embargo, en las secciones anteriores hemos mostrado qué archivos de plantilla tienen prioridad sobre los demás. Con esta información a mano, sabrás exactamente qué archivos tienes que modificar si quieres realizar cambios en tu tema activo de WordPress.
¿Tienes alguna pregunta sobre cómo funciona la WordPress Hierarchy en tu sitio web? ¡Pregunta en la sección de comentarios a continuación!
Comentarios
March 09 2019
Muy certero, entendi el concepto de una manera muy simple, despues de tantas vueltas, gracias.
March 14 2019
Hola, qué bueno que te haya sido útil :)
June 25 2019
Gran explicación. Me has resuelto varias dudas. Muchas gracias. Tengo una pregunta... En un artículo en inglés que he leído sobre cómo hacer temas o plantillas en wordpress, no mencionan la single.php. En vez, para los posts individuales usan una content.php. El artículo es de 2015 ¿Cambió algo desde entonces? Un saludo!
August 16 2019
Hola Edwin, aquí tienes información oficial de la página de WordPress: https://developer.wordpress.org/themes/template-files-section/post-template-files/#single-php
November 19 2020
tengo un sitio con uds. pero en hostinger.com: fineconomica.com, instalé WP y le agregué el tema de vantage y el pluguin de elementor y lo fui modificando de esa manera, pero como estaba usando los pluguins de forma gratuita son muy limitados, entonces opté por intentar personalizarlo mediante la jerarquía de archivos y agregarle bootstrap, pero para poder personalizarlo debo saber que archivos muestran que cosas para poder así modificar el html y agregarle las clases y darle el estilo que bootstrap me permita dar, pero no logro encontrar los archivos que muestran cada elemento de las páginas.
December 09 2020
Hola Dangelo, en este caso te sugiero contactar a nuestros agentes de éxito del cliente para que te brinden la respuesta adecuada, puedes hacerlo a través del chat en vivo. Si no sabes cómo ingresar, aquí están las instrucciones https://support.hostinger.es/es/articles/3083525-como-acceder-al-chat-en-vivo
March 11 2024
Excelente... Muchas gracias.