---
title: "Anatomía de un tema de WordPress: estructura actual"
description: "Conoce cómo se organiza un tema de WordPress en 2026, qué hacen style.css, theme.json, templates y parts, y cuándo elegir un tema clásico o de bloques."
url: https://wpdirecto.com/anatomia-de-un-tema-de-wordpress/
date: 2012-02-23
modified: 2026-09-10
author: "David Carrero Fernández-Baillo"
image: https://wpdirecto.com/wp-content/uploads/2026/09/anatomia-tema-wordpress-2026.jpg
categories: ["Temas y diseño"]
tags: ["infografía"]
type: post
lang: es
---

# Anatomía de un tema de WordPress: estructura actual

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.

## Las claves de la estructura de un tema en 20 segundos

- **style.css** identifica el tema y contiene sus estilos principales.
- **theme.json** define ajustes y estilos globales en los temas modernos, y también puede complementar un tema clásico.
- **templates/** contiene las plantillas que representan cada tipo de página en un tema de bloques.
- **parts/** guarda piezas reutilizables como la cabecera y el pie.
- **functions.php** registra compatibilidad y carga funciones del tema, pero las funciones esenciales del sitio deben ir en un plugin.

## Qué es exactamente un tema de WordPress

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](https://developer.wordpress.org/themes/getting-started/what-is-a-theme/) 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.

## La estructura de un tema clásico

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.

## La estructura de un tema de bloques

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](https://developer.wordpress.org/themes/core-concepts/theme-structure/) 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](https://developer.wordpress.org/themes/core-concepts/templates/) 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.

## Para qué sirve theme.json

`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.

## Qué hacen patterns, assets y las variaciones de estilo

- **patterns/:** contiene patrones de bloques reutilizables, como una llamada, una portada o una sección de servicios.
- **styles/:** guarda variaciones de estilo en archivos JSON para ofrecer distintas apariencias del mismo tema.
- **assets/:** organiza CSS, JavaScript, fuentes e imágenes que necesita el tema.
- **README.txt:** puede documentar el proyecto, sus requisitos y la licencia.

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.

## Qué debería ir en un plugin

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.

## Cómo elegir y revisar un tema actual

- Comprueba si es clásico, de bloques o híbrido, y qué versión mínima de WordPress necesita.
- Revisa la fecha de actualización, la documentación y el historial de soporte.
- Prueba la navegación, los formularios, el móvil y las páginas de error antes de activarlo.
- Valida que los estilos no rompan el contraste, el foco del teclado ni la lectura en pantallas pequeñas.
- Evita temas que incluyan funciones de negocio que luego te aten a una plantilla concreta.

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](https://developer.wordpress.org/themes/getting-started/what-is-a-theme/), [estructura de un tema](https://developer.wordpress.org/themes/core-concepts/theme-structure/) y [plantillas y partes](https://developer.wordpress.org/themes/core-concepts/templates/) en la documentación oficial.
