
🧩 Tema hijo de WordPress: una guía completa para crear y personalizar
Instaló un tema, pulió el sitio, ajustó colores y fuentes, añadió un par de plantillas personalizadas. Luego llega una actualización del tema y borra todo. ¿Le suena familiar?
Un tema hijo en WordPress es el mecanismo que separa sus personalizaciones del código del desarrollador. Usted cambia lo que quiera y el tema padre se actualiza sin consecuencias. Suena a magia, pero detrás solo hay una línea en style.css.
En esta guía, desde el concepto hasta un tema hijo funcional: por qué lo necesita, cómo crearlo manualmente, cómo encolar estilos y el functions.php, y qué hacer si algo sale mal. Sin relleno, con fragmentos de código probados.
💡 Resumen rápido:
- Cree una carpeta para el tema hijo en
/wp-content/themes/, cualquier nombre sirve, por ejemplomytheme-child - Añada un
style.csscon una cabecera de tema y una líneaTemplate:que apunte a la carpeta del tema padre - Encole los estilos del padre mediante
functions.php, usando la funciónwp_enqueue_style()en el ganchowp_enqueue_scripts - Copie cualquier archivo de plantilla del tema padre al tema hijo y edítelo sin miedo a las actualizaciones
- Todo lo demás (functions.php, campos personalizados, nuevas plantillas) puede extenderse sin tocar el tema padre
Qué es un tema hijo de WordPress
Un tema hijo es un tema de WordPress que hereda toda la funcionalidad, los estilos y las plantillas de otro tema. Aquel del que hereda se llama tema padre. Un tema hijo por sí solo puede consistir únicamente en un archivo style.css y aun así funcionar plenamente.

El mecanismo de herencia es sencillo. Cuando WordPress carga una página, primero busca el archivo de plantilla requerido en el tema hijo. Si lo encuentra, usa ese archivo. Si no lo encuentra, toma el archivo del tema padre. Por eso puede sobrescribir solo lo que desea cambiar, y todo lo demás vendrá automáticamente del tema padre.
El elemento clave sin el cual un tema hijo no puede existir es la línea Template: en la cabecera de style.css. Esta apunta al nombre de la carpeta del tema padre (por ejemplo, twentytwentyfour) y crea la relación padre-hijo. La línea debe coincidir exactamente con el nombre de la carpeta del tema padre, incluyendo mayúsculas y minúsculas.
El tema padre puede ser CUALQUIER tema de WordPress instalado, desde el predeterminado Twenty Twenty-Five hasta un tema comercial como Total o Kadence. El tema hijo «toma prestados» sus archivos y funciones, pero no los copia físicamente.
Por qué necesita un tema hijo: 4 razones
Podría saltarse todo esto y editar el tema padre directamente. Mucha gente lo hace. Pero esto es lo que ocurre después.
Actualizaciones seguras
El desarrollador del tema padre publica una actualización y usted la instala. Si editó los archivos del tema padre directamente, todos los cambios se pierden. Un tema hijo almacena sus personalizaciones por separado: actualizar el padre no las toca. Obtiene tanto la versión nueva del tema (con correcciones de seguridad) como sus personalizaciones preservadas.
Experimentación aislada
¿Quiere probar una estructura de plantilla nueva o un truco CSS poco convencional? En un tema hijo puede experimentar libremente. Si algo sale mal, desactive el tema hijo y el sitio vuelve al tema padre en su estado original.
Base de código limpia
Un tema hijo contiene solo sus cambios. Un par de plantillas, functions.php con ganchos, style.css con sobrescrituras. Sin mezcla de código original y sus ediciones. Cuando necesite arreglar algo seis meses después, no estará escarbando en el código de otra persona buscando el suyo.
Inicio rápido de desarrollo
Un tema hijo es el entorno de pruebas perfecto para aprender el desarrollo de temas de WordPress. No escribe un tema desde cero (eso lleva cientos de horas), sino que hace cambios puntuales en un tema que ya funciona. La documentación oficial de temas hijos de WordPress recomienda precisamente este enfoque para desarrolladores principiantes.
Cuáles son las desventajas de los temas hijos
También hay desventajas. No son críticas, pero conocerlas de antemano ayuda.
Se requieren conocimientos básicos de programación
Configurar un tema hijo implica HTML, CSS y algo de PHP. Si nunca ha abierto un editor de código, necesitará aprender lo básico. La buena noticia: para tareas típicas (encolar estilos, añadir un gancho) el código ya está escrito; usted solo lo copia y sustituye sus propios valores.
Migración de ajustes del Personalizador
Algunos temas vinculan los ajustes del Personalizador (colores, fuentes, maquetación) al nombre del tema activo. Al cambiar a un tema hijo, estos ajustes «desaparecen». No se pierden; permanecen en la base de datos, vinculados al nombre del tema padre. La solución: antes de activar el tema hijo, exporte los ajustes del Personalizador (muchos temas, como Total, proporcionan una herramienta de importación/exportación integrada), o transfiéralos manualmente después de la activación.
Dependencia del tema padre
Un tema hijo sin su padre es solo una carpeta con archivos. Si decide cambiar completamente de tema, necesitará crear un nuevo tema hijo desde cero. Las funciones integradas en el functions.php del tema hijo pueden estar vinculadas a ganchos específicos de un tema padre en particular y también necesitarán ser adaptadas.
Cómo crear un tema hijo manualmente
La vía más directa, sin plugins, usando solo sus manos. Necesitará acceso a los archivos de su sitio (FTP, el gestor de archivos de su hosting o cPanel) y un editor de texto.
Paso 1. Crear la carpeta del tema hijo
Abra el directorio de temas de WordPress: /wp-content/themes/. Cree una nueva carpeta. Cualquier nombre sirve, pero la convención es añadir el sufijo -child al nombre del tema padre: por ejemplo, para twentytwentyfive la carpeta hija sería twentytwentyfive-child.
Para trabajar con archivos por FTP, FileZilla funciona bien. A través del hosting, use el gestor de archivos integrado en cPanel o en el panel de su hosting.
Paso 2. Crear style.css con la cabecera del tema
En la carpeta del tema hijo, cree un archivo llamado style.css. Este es el único archivo obligatorio. Pegue la cabecera del tema:
1 /* 2 Theme Name: Twenty Twenty-Five Child 3 Theme URI: https://example.com/ 4 Description: Child theme for Twenty Twenty-Five 5 Author: Your Name 6 Template: twentytwentyfive 7 Version: 1.0.0 8 */
La línea Template: es la que vincula el tema hijo con el padre. El valor debe coincidir EXACTAMENTE con el nombre de la carpeta del tema padre. Para Twenty Twenty-Five la carpeta se llama twentytwentyfive, así que eso es exactamente lo que escribe. Un error tipográfico o una letra mal escrita significa que el tema no será reconocido como tema hijo.
Paso 3. Encolar los estilos del tema padre
En este punto el tema hijo ya funciona; puede activarlo en Apariencia → Temas. Pero el sitio aparecerá sin estilos porque su style.css aún está vacío (salvo por la cabecera).
Cree un archivo llamado functions.php en la carpeta del tema hijo y añada el código para encolar los estilos del padre:
1 add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); 2 3 function my_theme_enqueue_styles() { 4 $theme = wp_get_theme( 'twentytwentyfive' ); 5 $version = $theme->get( 'Version' ); 6 7 wp_enqueue_style( 8 'parent-style', 9 get_template_directory_uri() . '/style.css', 10 array(), 11 $version 12 ); 13 }
Este código recoge dinámicamente la versión del tema padre y la añade como parámetro a la URL de la hoja de estilos. Cuando el tema se actualiza, la versión cambia, el navegador limpia su caché y los usuarios ven los estilos actuales sin problemas de CSS.
Sustituya
twentytwentyfivepor el nombre de su tema padre. Usewp_get_theme()en lugar de un número de versión fijo; esto le protege de problemas de caché en las actualizaciones.

Paso 4. Activar el tema hijo
En el administrador de WordPress: Apariencia → Temas → busque su tema hijo recién creado → Activar. La apariencia del sitio no cambiará; esto es normal. Está en el tema hijo y funciona.
Cómo personalizar un tema hijo
El tema está activado; ahora la personalización. Esto es lo que puede y debe hacer.
Añadir sus propios estilos
Escriba todas sus reglas CSS EN el archivo style.css del tema hijo, después de la sección de cabecera. Sobrescribirán automáticamente los estilos del tema padre con la misma especificidad. Si quiere cambiar el color de los encabezados, escriba la regla en el style.css hijo y se aplicará.
Editar archivos de plantilla
¿Quiere cambiar la estructura de single.php o footer.php? Copie el archivo deseado del tema padre a la carpeta del tema hijo, conservando la misma estructura de subcarpetas (por ejemplo, /template-parts/). Edite la copia en el tema hijo; cuando WordPress cargue, usará su versión en lugar de la original del padre.
Detalle importante: solo puede copiar ARCHIVOS DE PLANTILLA (los ubicados en la carpeta raíz del tema y en la carpeta template-parts/). Los archivos de subcarpetas como inc/, functions/ y classes/ no se copian de esta manera. Para modificar la lógica de esos archivos, use ganchos y filtros de WordPress.
Extender mediante functions.php
El functions.php del tema hijo se carga ANTES que el del padre. Esto significa que puede:
- Añadir nuevas funciones sin tocar el
functions.phpdel padre; - Sobrescribir funciones del padre solo si están envueltas en
if ( ! function_exists() ); - Añadir nuevos ganchos y filtros para cambiar el comportamiento del tema padre o del propio WordPress.
Ejemplo: permitir la carga de SVG mediante el functions.php hijo:
1 function my_child_allow_svg( $mimes ) { 2 $mimes['svg'] = 'image/svg+xml'; 3 return $mimes; 4 } 5 add_filter( 'upload_mimes', 'my_child_allow_svg' );
Nunca copie el
functions.phpCOMPLETO del tema padre al tema hijo. Esto causará un error fatal por funciones redeclaradas. Elfunctions.phphijo extiende el del padre; no lo reemplaza.
Añadir nuevos archivos de plantilla
Un tema hijo puede contener plantillas que no existen en el padre. Por ejemplo, puede crear template-full-width.php para páginas sin barra lateral, y WordPress lo detectará en el tema hijo y lo ofrecerá como opción al editar una página.
Herramientas y editores de texto
Cualquier editor sirve para el código del tema hijo, pero el resaltado de sintaxis facilita las cosas. Aquí tiene algunas opciones:
- VS Code: gratuito, con extensiones para PHP y WordPress;
- Notepad++: un editor ligero para Windows que maneja CSS/PHP/JS;
- Sublime Text: rápido y minimalista, de pago tras el periodo de prueba.
Para acceder a los archivos por FTP, use el cliente FTP FileZilla. Para usuarios de hosting, el gestor de archivos integrado de cPanel es perfectamente adecuado para crear un par de archivos.

Errores comunes y cómo solucionarlos
Tras años de trabajo con temas hijos hemos recopilado una lista de los tropiezos más frecuentes.
«El tema hijo no se reconoce.» Casi siempre se trata de un error en la línea Template:. Compruebe que el nombre de la carpeta del tema padre coincida carácter por carácter, incluyendo mayúsculas, minúsculas y guiones. TwentyTwentyFive y twentytwentyfive son nombres diferentes.
«El sitio muestra HTML plano sin estilos.» El tema hijo está activado pero los estilos no están encolados. Añada wp_enqueue_style() en el functions.php del tema hijo (vea el Paso 3).
«Error fatal de PHP tras la activación.» Lo más probable es que copiara el functions.php del tema padre al hijo y ahora las funciones están declaradas dos veces. Elimine los duplicados del functions.php hijo; conserve solo SUS funciones.
«Los ajustes del Personalizador desaparecieron.» Están vinculados al nombre del tema. Vuelva temporalmente al padre, exporte los ajustes (mediante un plugin o la herramienta integrada del tema), luego active el hijo e impórtelos.
«Actualizar el tema padre rompió la maquetación.» El desarrollador cambió la estructura HTML de una plantilla que usted copió al tema hijo. Su copia ahora es incompatible con los nuevos estilos. Solución: compare la nueva plantilla del padre con su copia y adapte los cambios.
Vídeo paso a paso (EN) sobre cómo crear un tema hijo: desde la creación de la carpeta hasta la activación final y la configuración de estilos. Canal WPEstate, 2025, claro y sin relleno.
⁉️🤔 Preguntas frecuentes
¿Tengo que crear un tema hijo para cada sitio WordPress?
No. Si no está editando archivos del tema ni añadiendo código personalizado, no necesita un tema hijo. Pero si alguna vez ha abierto el editor de temas en el administrador, ha añadido CSS en CSS adicional y planea modificar plantillas, cree un tema hijo. Lleva 10 minutos ahora y ahorra horas en la próxima actualización.
¿Qué pasa si elimino el tema padre pero conservo el tema hijo?
El sitio fallará con un error crítico. Un tema hijo sin su padre no funciona; no contiene un conjunto completo de archivos y hereda todo del padre. Antes de eliminar el tema padre, elimine (o desactive) primero el tema hijo y active un tema diferente.
¿Puedo crear un tema «nieto», un hijo de un hijo?
No. WordPress solo admite un nivel de herencia: padre → hijo. Para personalizaciones complejas que no caben en un solo tema hijo, el enfoque adecuado es bifurcar el tema y crear un tema padre completo, o mover la lógica a un plugin independiente.
¿Funciona un tema hijo con temas de bloques (FSE, Edición completa del sitio)?
Sí, pero el mecanismo difiere ligeramente. En los temas de bloques, el
theme.jsondel tema hijo se fusiona con el del padre en lugar de reemplazarlo. Las plantillas y las partes de plantilla se sobrescriben de la misma manera: creando un archivo con el mismo nombre en el tema hijo. Hay más detalles en la documentación oficial de Developer Resources en wordpress.org.
¿Cómo transfiero las personalizaciones ya realizadas en el tema padre al tema hijo?
Identifique qué cambió: CSS, plantillas o functions.php. Copie las reglas CSS al
style.csshijo. Para las plantillas modificadas, copie los archivos al tema hijo y conserve allí sus ediciones. Transfiera el código del functions.php del padre de forma selectiva: solo sus funciones, no el archivo completo. Después de la transferencia, elimine sus ediciones del tema padre; de lo contrario, se perderán en la próxima actualización.
¿Debería crear un tema hijo ahora mismo?
Si ha leído hasta aquí, la respuesta probablemente es sí. Un tema hijo no complica el sitio ni lo ralentiza. Separa su código del código del desarrollador del tema. Es como comentar el código: al principio parece innecesario, pero un mes después le salva.
Para quienes editan un tema por primera vez: empiece con un entorno de pruebas. Un servidor local (LocalWP, XAMPP) o un sitio de staging en su hosting. Cree un tema hijo siguiendo los pasos anteriores, añada un par de reglas CSS, copie una plantilla. Cuando vea que todo funciona, repítalo en su sitio en vivo.
La cuestión no es si necesita un tema hijo. La cuestión es cuándo lo recordará: antes de la actualización del tema o después de que sus personalizaciones hayan desaparecido.



