
Un tema de WordPress no es solo una combinación de colores y tipografías. Es el conjunto de archivos que decide cómo se presenta el contenido en pantalla: la portada, las entradas, las páginas, los archivos de categorías y también los elementos repetidos como la cabecera o el pie. La estructura ha cambiado mucho desde la época de las primeras plantillas y hoy conviven temas clásicos con temas de bloques.
La infografía original de este artículo mostraba una idea útil, pero su esquema se ha quedado atrás. En una instalación actual conviene distinguir qué archivos siguen siendo habituales, qué piezas pertenecen a un tema de bloques y qué funciones deberían vivir en un plugin para no desaparecer al cambiar de diseño.
El tema recibe los datos que WordPress guarda en la base de datos y los convierte en una página que el navegador puede mostrar. Puede controlar la maquetación, los colores, las fuentes, los espacios, el menú, la imagen destacada y la forma en que se listan las entradas.
Eso no significa que deba encargarse de todo. La recomendación del manual oficial de temas de WordPress es separar presentación y comportamiento: el tema controla el aspecto; los plugins, las funciones que deben seguir disponibles aunque cambies de diseño. Un formulario, un tipo de contenido o una integración de negocio no debería desaparecer con el tema.
Los temas clásicos utilizan plantillas PHP y la jerarquía de plantillas de WordPress para decidir qué archivo carga en cada URL. Una estructura habitual puede parecerse a esta:
mi-tema/
├── style.css
├── functions.php
├── index.php
├── header.php
├── footer.php
├── sidebar.php
├── single.php
├── page.php
├── archive.php
├── search.php
├── 404.php
├── comments.php
└── assets/
├── css/
├── js/
└── images/
index.php suele actuar como plantilla de respaldo. single.php presenta una entrada individual, page.php una página, archive.php los listados y 404.php el error de contenido no encontrado. La jerarquía permite crear versiones más concretas, como single-product.php para un tipo de contenido propio o category-noticias.php para una categoría determinada.
header.php, footer.php y sidebar.php son partes reutilizables que suelen incluirse desde las plantillas. functions.php no es una plantilla visual: se utiliza para registrar menús, tamaños de imagen, soportes del tema y recursos. WordPress lo carga automáticamente cuando el tema está activo.
Los temas de bloques son la vía moderna. Sus plantillas están formadas por marcado de bloques y normalmente se editan desde Apariencia > Editor. La estructura mínima recomendada por el Theme Handbook incluye estos elementos:
mi-tema-de-bloques/
├── style.css
├── theme.json
├── functions.php
├── templates/
│ ├── index.html
│ ├── single.html
│ ├── page.html
│ ├── archive.html
│ └── 404.html
├── parts/
│ ├── header.html
│ └── footer.html
├── patterns/
└── styles/
En este caso, templates/index.html es el archivo mínimo que permite reconocer el tema de bloques. Las plantillas son HTML con comentarios de bloques, no archivos PHP que imprimen toda la página. WordPress analiza ese marcado y genera la salida final junto con los estilos, scripts y metadatos necesarios.
La documentación sobre plantillas y partes de plantilla explica cómo funciona esta relación. templates/single.html puede describir una entrada individual, mientras parts/header.html y parts/footer.html se insertan en varias plantillas para no repetir la misma estructura.
theme.json centraliza buena parte de la configuración del tema. Puede definir la paleta de colores, tamaños de letra, anchos de contenido, espaciado, estilos de botones y qué controles aparecen en el editor. El usuario puede modificar esos valores desde la interfaz cuando el tema lo permite.
La diferencia entre settings y styles ayuda a entenderlo. Los ajustes determinan qué opciones ofrece el editor; los estilos definen el aspecto predeterminado. El archivo también permite aplicar reglas a bloques concretos, de modo que el tema mantenga una apariencia coherente sin llenar el proyecto de CSS específico.
Ojo con una confusión frecuente: modificar theme.json no siempre cambia lo que ves. Las personalizaciones guardadas por el usuario pueden tener prioridad sobre los valores del archivo. Si el cambio no aparece, revisa que estés editando el tema activo y comprueba las opciones guardadas en el Editor del sitio.
Estas carpetas no son obligatorias en todos los casos, pero ayudan a ordenar un tema que crece. Las partes de plantilla, en cambio, deben mantenerse directamente dentro de parts/; no conviene esconderlas en subcarpetas porque WordPress espera encontrarlas en esa ubicación.
Si una función afecta al contenido o al negocio, sepárala del tema. Por ejemplo, un tipo de contenido para cursos, una integración con una plataforma externa, una tabla de precios o una regla de acceso no deberían depender de la plantilla activa. De ese modo puedes cambiar el diseño sin perder los datos ni el comportamiento.
En el tema sí encajan los soportes visuales, la carga de estilos, los menús y la presentación de los contenidos. También puede haber código en functions.php, pero procura que sea breve, específico y fácil de retirar. Para experimentar con cambios de diseño, haz una copia y prueba primero en un entorno separado.
La anatomía de un tema ha pasado de una colección de plantillas PHP a un sistema donde los bloques, las plantillas HTML y los estilos globales tienen mucho más peso. La base sigue siendo la misma: el tema presenta el contenido y WordPress decide qué piezas cargar. Conocer esa separación facilita personalizar una web, localizar un error y cambiar de diseño sin llevarse sorpresas.
Fuentes: qué es un tema de WordPress, estructura de un tema y plantillas y partes en la documentación oficial.
