• Ir a navegación principal
  • Ir al contenido principal

Eneko Amieva

Desarrollador web WordPress

  • Inicio
  • Sobre mí
  • Blog
  • Proyectos
  • Contacto

Cómo es la jerarquía de plantillas de WordPress

29/03/2020 Escrito por Eneko Amieva

Jerarquía de plantillas de WordPress

Esto va a ser la primera de una serie de entradas explicando la jerarquía de plantillas de WordPress. En esta primera entrada, voy a intentar hacer un resumen general y en las posteriores, explicaré detalladamente los tipos de archivo de las plantillas.

Para empezar a conocer como es la jerarquía de plantillas de WordPress en nuestros themes, tienes que saber que en función de la URL que carga el navegador de tú página web, WordPress es capaz de saber que plantilla tiene que cargar.

Podéis ver un esquema de cómo se usan las plantillas en https://wphierarchy.com.

La imagen ha sido extraída de wphierarchy.com

Siguiendo la estructura de ficheros que ves, WordPress tiene las siguientes plantillas:

  • Archive: son plantillas que te muestran un listado de artículos en función del autor, categoría, etiquetas, fecha, taxonomías personalizadas, custom post types.
  • Singular: muestra contenido individual, es decir, páginas, entradas del blog, contenido de un custom post type.
  • Site Front: con estos ficheros mostrará el contenido de tu frontpage, página de inicio.
  • Blog Posts Index: muestra el loop de entradas de tu blog.
  • Error 404: cuando alguien entre en tu página web y ese contenido que intenta visitar no existe, WordPress automáticamente mostrará la plantilla de error 404.
  • Search Result: plantilla para mostrar los resultados de una búsqueda en tu sitio web.

Una vez explicado las diferentes plantillas, sigamos viendo la imagen del esquema de la jerarquía.

Vemos que hay muchos archivos de plantilla de izquierda a derecha. Esto no quiere decir que un theme de WordPress tenga que usar todas ellas, de hecho si miramos a la derecha, vemos que existe una plantilla index.php donde terminan el resto de plantillas que vemos. Y es que un theme de WordPress puede trabajar únicamente con el fichero index.php, el resto de plantilla digamos que pueden ser opcionales para un theme pero claro, si solo usamos el fichero index.php… todas las páginas se van a ver igual.

Si quieres darle funcionalidad a tu desarrollo y que una página se vea diferente a una entrada del blog o que la página de inicio sea diferente al resto, debes de usar plantillas diferentes. Y basándonos en la imagen de la jerarquía de plantilla WordPress cuando entra en una URL de tu web, identifica qué tipo de contenido se trata (página, entrada, …) y va leyendo de izquierda a derecha.

Entendiendo la jerarquía

Pongamos como ejemplo que un usuario visita la URL de tu sitio web midominio.com/contacto/. WordPress sabrá que contacto, es una página y viendo el esquema de arriba sabe que tiene que empezar a leer por la rama tipo ‘Singular Page’. Contacto es una entrada, no. Es una página con contenido individual. Pues entonces seguiría esta ruta:

  • page-$slug.php: si por ejemplo, existiría la plantilla page-contacto.php, WordPress terminaría renderizando el contenido de este fichero. ¿No existe dentro del directorio de tu tema? WordPress seguiría recorriendo la estructura.
  • page-$id.php: imaginemos que la id que le asigna WordPress a tu página de contacto es 140. Si existiría el fichero page-104.php, el contenido que mostrará es el que contenga aquí.
  • page.php: como vemos esta página no es tan específica como las anteriores, no le pasamos ningún identificativo al nombre del archivo. Y es que si no existe ninguna de las anteriores plantillas, WordPress terminará usando el contenido de esta plantilla para mostrar todas las páginas de nuestro sitio web. Pero si tampoco está creada dentro de nuestra estructura…
  • singular.php: existe esta plantilla menos específica Con este fichero creado, mostrarás el contenido de tus páginas pero WordPress si se diera el caso, también podría mostrar el contenido de las entradas de tu blog con esta misma plantilla. Es decir, páginas y entradas usarían la misma plantilla.
  • index.php: WordPress llegaría a renderizar esta página si dentro de la rama de páginas no encontraría ninguna de las citadas anteriormente. Como he dicho más arriba, para que un tema de WordPress muestre contenido, solo le haría falta contener este archivo, index.php.

Espero que por lo menos te hayas quedado el concepto de cómo renderiza WordPress el contenido cuando navegamos por las distintas secciones de la web.

En posteriores entradas explicaré como funcionan las distintas plantillas que dispone en su jerarquía WordPress. De momento están publicadas:

  • Jerarquía de plantillas de WordPress: Archivos de plantillas.

Si quieres suscriberte a mi newsletter mensual de WordPress puedes dejar tus datos aquí.

→ Pulsa aquí para revisar nuestra política de privacidad.

  • Responsable: Eneko Amieva.
  • Finalidad: Suscribirse a la newsletter para recibir noticias del blog.
  • Legitimación: Me das tu permiso expreso para dicha finalidad.
  • Destinatarios: Tus datos se guardan en una Base de datos alojada en los servidores de Mailchimp.
  • Plazo de conservación de datos: Durante el tiempo que los necesite para prestar el servicio o para cumplir con la obligaciones legales.
  • Cesión de datos: Nunca cederé tus datos a nadie, excepto si me obliga la ley.
  • Derechos: podrás acceder, rectificar, limitar y suprimir tus datos escribiéndome a info@enekoamieva.com, así como presentar una reclamación ante una autoridad de control. Para más información, consulta mi política de privacidad.

Acerca de Eneko Amieva

Me llamo Eneko Amieva y soy Administrador de Sistemas informáticos y trabajo como técnico de sistemas y VoIP en Irontec. Por otro lado, me he especializado en el desarrollo con WordPress para poder ayudarte a crear soluciones web y que tu negocio tenga mejores resultados y más visibilidad en Internet. Me gusta viajar, la música y como no, todo lo que tenga que ver con un teclado y ratón.

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  • Responsable: Eneko Amieva.
  • Finalidad: Responder a la entrada del blog con comentarios y aportaciones.
  • Legitimación: Me das tu permiso expreso para dicha finalidad.
  • Destinatarios: Tus datos se guardan en una Base de datos alojada en SiteGround Spain S.L. (UE)que está acogido al acuerdo de seguridad EU-US Privacy.
  • Plazo de conservación de datos: Durante el tiempo que los necesite para prestar el servicio o para cumplir con la obligaciones legales.
  • Cesión de datos: Nunca cederé tus datos a nadie, excepto si me obliga la ley.
  • Derechos: podrás acceder, rectificar, limitar y suprimir tus datos escribiéndome a info@enekoamieva.com, así como presentar una reclamación ante una autoridad de control. Para más información, consulta mi política de privacidad.

  • Github
  • LinkedIn
  • Twitter
Copyright © 2022 · Eneko Amieva · Política de privacidad y Aviso Legal · Política de cookies

Utilizamos cookies para darte la mejor experiencia en nuestra web.

Puedes informarte más sobre qué cookies estamos utilizando o desactivarlas en los AJUSTES.

Eneko Amieva
Política de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Tienes toda la información sobre privacidad, aviso legal aquí.

Tienes toda la información sobre la política de cookies aquí.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Estas cookies son:

- Comprobación de inicio de sesión.

- Cookies de seguridad imprescindibles.

- Saber si ya has aprobado/rechazado las cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza Google Analytics y Google Tag Manager para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.

¡Por favor, activa primero las cookies estrictamente necesarias para que podamos guardar tus preferencias!