GUÍA PRÁCTICA · WORDPRESS · TEMAS · MANTENIMIENTO

Cómo crear un tema hijo en WordPress paso a paso y sin perder cambios

Crea un child theme funcional, entiende cuándo usar functions.php, cómo declarar el tema padre y qué cambia en los temas modernos de bloques.

RESPUESTA RÁPIDA

Un tema hijo (child theme) es un tema de WordPress que hereda la apariencia y las funcionalidades de otro tema, llamado tema padre. Permite personalizar archivos y estilos sin modificar directamente el código del padre, para que sus actualizaciones no borren esas personalizaciones.

¿Cuándo conviene crear un tema hijo de WordPress?

Es especialmente útil si necesitas añadir CSS, modificar plantillas o incorporar funciones específicas de presentación. Si solo quieres cambiar colores, tipografías y bloques que admite el editor del sitio, puede que no necesites crear un tema hijo.

Hay diferencias importantes entre los temas clásicos y los temas de bloques. Los temas de bloques pueden gestionar muchos estilos mediante theme.json y el Editor del sitio. Por eso debes revisar primero la documentación de tu tema padre.

Antes de empezar: copia y verifica tu tema padre

  • Haz copia de los archivos y de la base de datos antes de cambiar el tema activo.
  • Trabaja primero en una instalación de pruebas si la web ya recibe clientes.
  • Comprueba el nombre exacto de la carpeta del tema padre dentro de wp-content/themes/.
  • Comprueba que el tema padre está instalado; el hijo no funciona sin él.
  • Usa SFTP o el administrador de archivos de un proveedor confiable para subir archivos.

Paso 1. Crea la carpeta y el archivo style.css

Supongamos que el tema padre está en la carpeta twentytwentyfour. Crea wp-content/themes/talestin-child/ e incluye un archivo style.css con una cabecera reconocible.

Ejemplo de TEXT
wp-content/
└── themes/
    ├── twentytwentyfour/       ← tema padre instalado
    └── talestin-child/
        ├── style.css
        └── functions.php       ← opcional según necesidades
Ejemplo de CSS
/*
Theme Name: Talestin Child
Description: Personalizaciones del tema padre.
Template: twentytwentyfour
Version: 1.0.0
*/

/* Añade aquí los estilos propios del tema hijo. */

La línea Template: debe coincidir con el nombre real de la carpeta del tema padre. En este ejemplo se usa Twenty Twenty-Four; cámbiala si tu instalación emplea otro tema.

Paso 2. Carga los estilos cuando sea necesario

No todos los temas necesitan el mismo functions.php. Algunos temas padre ya cargan el CSS del hijo y otros no. En particular, los temas de bloques pueden utilizar principalmente theme.json. Comprueba primero qué estilos carga el padre para no duplicarlos.

Si tu tema padre no carga el style.css del hijo, puedes registrarlo desde functions.php:

Ejemplo de PHP
<?php
add_action('wp_enqueue_scripts', 'talestin_child_styles');

function talestin_child_styles() {
    wp_enqueue_style(
        'talestin-child-style',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get('Version')
    );
}

Este ejemplo carga la hoja del hijo, no necesariamente la del padre. Si el padre requiere carga manual de su CSS, tendrás que adaptar las dependencias según la documentación de ese tema.

Detalle importante

El archivo functions.php del hijo se ejecuta además del del padre: no lo sustituye. No copies funciones del tema padre en el hijo sin revisar si provocarían errores por duplicidad.

¿Y si quieres personalizar un tema de bloques?

Puedes utilizar theme.json y plantillas de bloques para modificaciones compatibles. No hace falta incorporar un functions.php vacío por sistema. Consulta la documentación oficial del tema para conocer las posibilidades y limitaciones.

Paso 3. Activa el tema hijo y comprueba que funciona

  1. Sube la carpeta del hijo a wp-content/themes/.
  2. Ve a Apariencia → Temas y comprueba que WordPress lo detecta.
  3. Activa el tema hijo.
  4. Revisa cabecera, pie, menús, plantillas, formularios y versión móvil.
  5. Inspecciona con las herramientas del navegador si tus estilos se están cargando.
  6. Actualiza el tema padre en un entorno de prueba para verificar que tus personalizaciones sobreviven.

Errores frecuentes al crear un child theme

El tema hijo aparece como «roto»

Comprueba la cabecera de style.css y que Template: coincide con la carpeta del padre, incluidas las mayúsculas si el sistema las distingue.

Los estilos no cambian

Puede que el padre no esté cargando el archivo del hijo, exista caché o una regla de mayor especificidad esté sobreescribiéndola. Inspecciona la pestaña de estilos del navegador.

Aparece un error PHP tras activar

Revisa sintaxis, nombres de funciones duplicados y la versión de PHP. Vuelve al tema anterior desde el administrador o restablece los archivos si es necesario.

Se pierde una personalización

Quizá se editó el tema padre, un plugin o una plantilla guardada en el editor de bloques. Documenta dónde se hizo cada cambio antes de actualizar.

Preguntas frecuentes

¿Puedo crear un tema hijo de cualquier tema WordPress?

Muchos temas admiten temas hijo, pero no todos ofrecen las mismas opciones de personalización. Consulta su documentación y el comportamiento de sus plantillas.

¿Un child theme ralentiza WordPress?

No necesariamente. El impacto depende de los archivos, estilos y scripts que añadas, no del concepto de tema hijo por sí mismo.

¿Siempre necesito functions.php?

No. Solo cuando necesites cargar estilos o implementar funciones adicionales que no estén cubiertas por otras herramientas o por el propio tema.

¿Puedo actualizar el tema padre después?

Esa es una de las ventajas de usar un tema hijo, pero hay que probar las actualizaciones porque los cambios de plantillas o APIs del padre pueden requerir ajustes.

TALESTIN · DISEÑO WEB Y SEO

Una web útil, rápida y preparada para convertir.

Si tu proyecto necesita una nueva web, mejorar su rendimiento o resolver problemas técnicos, estudiaremos una solución adaptada.

Solicitar información ↗