Hosting WordPress Version en ingles

Articulo de ayuda

Cómo Crear un Tema Hijo en WordPress

Aprende a crear un tema hijo en WordPress para personalizar diseno y codigo sin perder los cambios al actualizar el tema principal.

Publicado: 30/6/2026 Actualizado: 12/7/2026

Introduccion

Un tema hijo o child theme permite personalizar un tema de WordPress sin modificar directamente sus archivos originales.

El tema original se llama tema padre. El tema hijo hereda su diseno y funcionalidad, pero puede anadir estilos, funciones y plantillas propias, de modo que al actualizar el tema padre tus cambios permanecen separados.

Realiza una copia de seguridad antes de empezar y, si la web esta en produccion, prueba los cambios en un entorno de ensayo.

Cuando conviene utilizar un tema hijo

Es apropiado cuando necesitas anadir CSS que quieres conservar como parte del tema, modificar plantillas PHP de un tema clasico, anadir funciones relacionadas con la presentacion, o sobrescribir plantillas de un tema de bloques.

No siempre es necesario: para unos pocos estilos puedes usar Apariencia > Personalizar > CSS adicional o las herramientas del Editor del sitio. Para funciones que no dependen del diseno, suele ser mejor un plugin propio.

Antes de empezar

Necesitaras acceso al administrador de archivos, FTP o SFTP, conocer el nombre exacto de la carpeta del tema padre y un editor de texto que guarde en UTF-8. La carpeta del tema padre esta dentro de wp-content/themes/; por ejemplo, si la ruta es wp-content/themes/twentytwentyfive/, el valor que utilizaras como Template sera twentytwentyfive, exactamente igual al nombre de la carpeta, no al nombre comercial que aparece en WordPress.

Paso 1: crear la carpeta del tema hijo

Dentro de wp-content/themes, crea una carpeta con minusculas, numeros y guiones, sin espacios ni caracteres especiales, por ejemplo wp-content/themes/mi-tema-hijo/. Solo style.css es imprescindible para que WordPress reconozca un tema hijo; functions.php se anade cuando necesitas cargar estilos o incorporar funciones.

Paso 2: crear el archivo style.css

Anade una cabecera como esta:

/*
Theme Name: Mi tema hijo
Theme URI: https://tudominio.com/
Description: Tema hijo para personalizaciones de la web.
Author: Tu nombre o empresa
Template: nombre-carpeta-tema-padre
Version: 1.0.0
Text Domain: mi-tema-hijo
*/

El campo fundamental es Template: nombre-carpeta-tema-padre, por ejemplo Template: twentytwentyfive. No escribas una ruta completa ni el nombre visible del tema; WordPress necesita el nombre exacto de la carpeta del tema padre. Despues de la cabecera puedes anadir tus estilos.

Paso 3: decidir como cargar los estilos

No existe un unico metodo valido para todos los temas: algunos cargan automaticamente los estilos del tema hijo; otros requieren encolarlos desde functions.php. Revisa primero la documentacion del tema padre.

Si necesitas cargar el estilo del hijo manualmente, crea functions.php con:

<?php

add_action( 'wp_enqueue_scripts', 'mihosting_tema_hijo_estilos' );

function mihosting_tema_hijo_estilos() {
    wp_enqueue_style(
        'tema-hijo-estilos',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
}

Si el padre solo carga su propia hoja de estilos, puedes cargar primero el estilo padre y despues el del hijo:

<?php

add_action( 'wp_enqueue_scripts', 'mihosting_tema_hijo_estilos' );

function mihosting_tema_hijo_estilos() {
    wp_enqueue_style(
        'tema-padre-estilos',
        get_parent_theme_file_uri( 'style.css' )
    );

    wp_enqueue_style(
        'tema-hijo-estilos',
        get_stylesheet_uri(),
        array( 'tema-padre-estilos' ),
        wp_get_theme()->get( 'Version' )
    );
}

No copies este bloque de forma automatica si la documentacion del tema indica otro procedimiento: cargar dos veces la misma hoja puede duplicar estilos o empeorar el rendimiento.

Paso 4: activar el tema hijo

Ve a Apariencia > Temas, localiza el tema hijo y pulsa Activar. Revisa la portada, las entradas, paginas, formularios y otras secciones importantes. El tema padre debe permanecer instalado (no tiene que estar activo), ya que WordPress necesita sus archivos para que el hijo funcione.

Como modificar plantillas en un tema clasico

Para sobrescribir una plantilla, localiza el archivo en el tema padre, copialo al tema hijo manteniendo la misma ruta relativa (por ejemplo tema-padre/single.php a tema-hijo/single.php) y modifica unicamente la copia del tema hijo. No copies archivos que no necesitas modificar: cada plantilla copiada deja de recibir automaticamente los cambios del tema padre y tendras que revisarla tras futuras actualizaciones.

Como personalizar un tema de bloques

Los temas de bloques pueden utilizar theme.json, plantillas HTML en templates/, partes de plantilla en parts/ y patrones en patterns/. Un tema hijo puede sobrescribir plantillas y partes colocando archivos con el mismo nombre y ruta (por ejemplo tema-hijo/templates/single.html), y tambien puede incluir su propio theme.json.

Ten en cuenta que algunos cambios realizados desde el Editor del sitio se guardan en la base de datos y pueden tener prioridad sobre los archivos. Si una plantilla no refleja tus cambios, revisa si existe una personalizacion guardada y utiliza la opcion de restablecerla cuando corresponda.

Como utilizar functions.php correctamente

El functions.php del tema hijo no sustituye al del tema padre: WordPress carga ambos. Puedes anadir funciones propias:

<?php

add_action( 'after_setup_theme', 'mihosting_configuracion_tema_hijo' );

function mihosting_configuracion_tema_hijo() {
    add_theme_support( 'custom-logo' );
}

Evita copiar todo el functions.php del tema padre: puede producir funciones duplicadas y errores fatales (ver error 500 y pantalla blanca en WordPress). Utiliza prefijos unicos para tus funciones, clases y constantes, y evita nombres genericos.

Para organizar el codigo, puedes crear archivos adicionales (por ejemplo mi-tema-hijo/inc/personalizaciones.php) y cargarlos con require_once get_theme_file_path( 'inc/personalizaciones.php' );, que tiene en cuenta la jerarquia del tema hijo.

Buenas practicas

Haz los cambios en un entorno de pruebas, documenta que archivos has sobrescrito y por que, mantén el tema padre actualizado, revisa las plantillas copiadas despues de cada actualizacion importante, valida el codigo PHP antes de subirlo y mantén en un plugin las funciones que deberian seguir activas aunque cambies de tema.

Problemas frecuentes

El tema hijo aparece como danado

Revisa que style.css exista y que Template coincida exactamente con la carpeta del padre. Comprueba tambien que el tema padre este instalado.

La web pierde los estilos al activar el tema hijo

El tema hijo no esta cargando la hoja de estilos adecuada. Revisa la documentacion del tema padre y el codigo de wp_enqueue_style().

Mis cambios de CSS no se ven

Vacia la cache del plugin, servidor, CDN y navegador. Comprueba tambien la prioridad y especificidad de las reglas CSS.

Aparece un error fatal al activar el tema

Revisa functions.php: puede existir un error de sintaxis o una funcion con el mismo nombre que otra del tema padre o un plugin.

La plantilla copiada no se utiliza

Confirma el nombre, la ruta y la jerarquia de plantillas. En temas de bloques, revisa ademas si una version personalizada esta guardada en la base de datos.

Preguntas frecuentes

Puedo crear un tema hijo de otro tema hijo?

WordPress solo contempla de forma estandar dos niveles: tema padre y tema hijo.

Se pierde la configuracion al activar el tema hijo?

Algunas opciones pueden depender del identificador del tema y necesitar configurarse de nuevo. Haz una copia de seguridad y prueba primero.

Debo copiar todos los archivos del tema padre?

No. Copia solo los archivos que vas a modificar.

Un tema hijo mejora la seguridad?

No por si mismo. Su ventaja es separar personalizaciones y facilitar actualizaciones.

Conclusion

Un tema hijo es la forma correcta de conservar personalizaciones que dependen del tema sin editar sus archivos originales. Crea una carpeta, anade una cabecera valida en style.css, carga los estilos segun el funcionamiento del tema padre y copia unicamente las plantillas necesarias. Si el cambio no depende del diseno, valora colocarlo en un plugin para que siga funcionando al cambiar de tema.