Cómo crear un tema hijo en WordPress (clásico y de bloques)
Contenido de esta guía
Un tema hijo de WordPress es un tema que hereda el diseño y las funciones de otro, llamado tema padre, y guarda solo tus modificaciones. Sirve para personalizar plantillas, estilos o funciones sin perder esos cambios cuando el tema padre se actualiza. Crearlo toma unos minutos: una carpeta, un style.css y, en temas clásicos, un functions.php.
Cuándo necesitas un tema hijo
- Vas a modificar archivos del tema: plantillas, partes del diseño o funciones en PHP.
- Quieres agregar bastante CSS y prefieres tenerlo ordenado en un archivo.
- Necesitas que tus cambios sobrevivan a las actualizaciones del tema.
Si solo vas a cambiar colores, tipografías o agregar unas pocas reglas de CSS, no lo necesitas: usa las opciones del editor del sitio (temas de bloques) o el CSS adicional del personalizador (temas clásicos).
Paso a paso
Identifica la carpeta del tema padre
Entra a
wp-content/themesy anota el nombre exacto de la carpeta del tema que usas, por ejemplotwentytwentyfive. Ese nombre, no el nombre comercial, es el que necesitas.Crea la carpeta del tema hijo
Dentro de
wp-content/themescrea una carpeta nueva, por ejemplotwentytwentyfive-hijo, sin espacios ni tildes.Crea el archivo style.css
Dentro de esa carpeta crea
style.csscon la cabecera que verás más abajo. La líneaTemplatedebe coincidir exactamente con la carpeta del tema padre.Agrega functions.php si el tema es clásico
En temas clásicos, crea también
functions.phppara cargar los estilos del padre. En temas de bloques normalmente no hace falta.Activa el tema hijo
Ve a Apariencia › Temas y activa el tema hijo. Revisa el menú, la portada y algunas páginas: deberían verse igual que antes.
El archivo style.css
Esta es la cabecera mínima. Cambia los valores por los tuyos; la línea indispensable es Template:
/*
Theme Name: Twenty Twenty-Five Hijo
Template: twentytwentyfive
Description: Tema hijo de Twenty Twenty-Five
Version: 1.0
Text Domain: twentytwentyfive-hijo
*/
Debajo de la cabecera puedes agregar tus propias reglas de CSS.
El archivo functions.php (temas clásicos)
En los temas clásicos, el tema hijo debe cargar la hoja de estilos del padre. Este es el código recomendado:
<?php
add_action( 'wp_enqueue_scripts', function () {
wp_enqueue_style(
'tema-padre',
get_template_directory_uri() . '/style.css'
);
} );
Algunos temas ya cargan sus estilos de otra forma; si al activar el tema hijo ves el diseño duplicado o algo cambia, revisa la documentación del tema padre.
El caso de los temas de bloques
En un tema de bloques, el tema hijo suele necesitar solo el style.css con la línea Template. Si quieres cambiar colores, tipografías o espaciados de forma ordenada, agrega un archivo theme.json en el tema hijo con solo los valores que quieres modificar; el resto se hereda del padre. Las plantillas que edites desde el editor del sitio se guardan en la base de datos y no se pierden al actualizar.
Errores comunes
| Problema | Causa |
|---|---|
| WordPress dice que falta el tema padre | El valor de Template no coincide con la carpeta del padre (revisa mayúsculas y guiones) |
| El sitio se ve sin estilos | En un tema clásico falta cargar el CSS del padre en functions.php |
| Pantalla en blanco al activarlo | Un error de sintaxis en functions.php; revisa la guía de pantalla blanca |
Guía revisada con WordPress 7.1.