Crear un child theme en WordPress para principiantes
¿Qué es un child theme en WordPress y por qué deberías usarlo?
Imagina que tienes una casa preciosa decorada al detalle. De repente, el vecino decide renovar la suya y, sin querer, tira tu pared favorita. Pues bien, en WordPress, el tema padre es esa casa y el child theme es una copia de seguridad de tu decoración que te permite hacer cambios sin miedo a perderlos cuando el vecino (el desarrollador del tema) actualice el suyo.
Un child theme WordPress es un tema secundario que hereda todas las funcionalidades y el diseño del tema principal (el padre), pero te permite realizar modificaciones personalizadas sin tocar el código original. Esto es crucial porque, cuando el tema padre se actualiza, todos los cambios que hayas hecho directamente en sus archivos se borrarán. Con un child theme, tus personalizaciones se mantienen intactas.
¿Por qué es tan importante?
- Seguridad ante actualizaciones: El tema padre se actualiza, tu child theme sigue funcionando.
- Personalización sin riesgos: Puedes modificar CSS, PHP, plantillas, etc., sin miedo a romper nada.
- Rendimiento: Un child theme no ralentiza tu web, solo añade lo que necesitas.
- Mantenimiento sencillo: Si algo falla, desactivas el child theme y vuelves al padre original.
Si eres principiante, este tutorial te guiará paso a paso para crear tu primer tema hijo WordPress usando métodos manuales y, si tu hosting lo permite, con herramientas como Syspanel (HestiaCP, accesible por el puerto 2106). Vamos allá.
Requisitos previos antes de crear un child theme
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a tu hosting: Necesitas poder conectarte por FTP o a través del panel de control (como Syspanel en el puerto 2106).
- Un tema padre instalado: Por ejemplo, Twenty Twenty-Four, Astra, GeneratePress o cualquier tema que quieras modificar.
- Conocimientos básicos: Saber qué es un archivo .php, .css y cómo subir archivos a tu servidor.
- Editor de texto: Bloc de notas, Sublime Text, VS Code o similar (evita Word o Pages).
- Paciencia: ¡No te preocupes! Es más fácil de lo que parece.
[INFO] Si no tienes acceso a FTP, muchos hostings ofrecen un gestor de archivos en el panel. En Syspanel, por ejemplo, puedes acceder desde "Archivos" en el menú principal (puerto 2106).
Método 1: Crear un child theme manualmente (paso a paso)
Este método funciona en cualquier hosting y no requiere plugins. Solo necesitas crear dos archivos.
Paso 1: Crear la carpeta del child theme
- Conéctate a tu servidor vía FTP o al gestor de archivos de tu panel (en Syspanel, ve a "Archivos" > "public_html" > "wp-content" > "themes").
- Crea una nueva carpeta con el nombre de tu child theme. Recomendación:
nombre-del-tema-padre-child. Por ejemplo, si tu tema padre es "Astra", la carpeta se llamaráastra-child. - Importante: No uses espacios ni caracteres especiales, solo minúsculas y guiones.
Paso 2: Crear el archivo style.css
Este archivo es obligatorio. Le dice a WordPress que existe un child theme.
- Dentro de la carpeta que acabas de crear, crea un archivo llamado
style.css. - Ábrelo con tu editor de texto y pega este código básico:
/*
Theme Name: Astra Child
Theme URI: https://tusitio.com/astra-child/
Description: Tema hijo de Astra para personalizaciones
Author: Tu Nombre
Author URI: https://tusitio.com
Template: astra
Version: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
*/
Explicación de las líneas clave:
Theme Name: El nombre que verás en el panel de WordPress.Template: Este es el campo más importante. Debe coincidir exactamente con el nombre de la carpeta del tema padre. Por ejemplo, si el tema padre se llama "Astra", su carpeta esastra. Si es "Twenty Twenty-Four", la carpeta estwentytwentyfour.Version: Puedes empezar con 1.0.0 e irla actualizando.
- Guarda el archivo.
[WARNING] Si el nombre en
Templateno coincide con la carpeta del tema padre, WordPress no reconocerá el child theme. Verifica enwp-content/themescómo se llama exactamente la carpeta del tema padre.
Paso 3: Crear el archivo functions.php
Este archivo es opcional pero muy recomendable. Se encarga de cargar el CSS del tema padre y el tuyo propio.
- Crea otro archivo dentro de la misma carpeta, llamado
functions.php. - Pega este código:
<?php
function child_theme_enqueue_styles() {
// Cargar el estilo del tema padre
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
// Cargar el estilo del child theme (si tiene CSS adicional)
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style') );
}
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' );
?>
¿Qué hace este código?
- Primero carga el
style.cssdel tema padre. - Luego carga el
style.cssdel child theme, pero solo después de que el padre esté cargado (gracias aarray('parent-style')). - Sin este archivo, tu child theme no heredará los estilos del padre y la web se verá fea.
- Guarda el archivo.
Paso 4: Activar el child theme en WordPress
- Ve a tu panel de WordPress > Apariencia > Temas.
- Verás tu nuevo child theme listado (con el nombre que le pusiste en
style.css). - Haz clic en Activar.
¡Listo! Ya tienes tu child theme WordPress funcionando. La web se verá exactamente igual que antes, pero ahora puedes hacer modificaciones seguras.
Método 2: Usar un plugin para crear child themes (más fácil)
Si prefieres no tocar código, existen plugins que lo hacen por ti. Los más populares son:
- Child Theme Configurator (recomendado)
- Orbisius Child Theme Creator
- Child Theme Wizard
Pasos rápidos con Child Theme Configurator:
- Instala y activa el plugin desde Plugins > Añadir nuevo.
- Ve a Herramientas > Child Themes.
- Selecciona el tema padre de la lista.
- Marca la opción "Crear un nuevo child theme".
- Dale un nombre y haz clic en Crear nuevo child theme.
- El plugin generará automáticamente los archivos
style.cssyfunctions.php. - Actívalo desde el mismo plugin o ve a Apariencia > Temas.
[TIP] Los plugins son ideales si tienes prisa, pero te recomiendo aprender el método manual para entender cómo funciona. Además, algunos hostings como Syspanel (puerto 2106) tienen herramientas integradas para crear child themes desde el panel de archivos.
Personalizando tu child theme: primeros pasos
Una vez activado, puedes empezar a hacer cambios. Aquí tienes lo básico:
Añadir CSS personalizado
Abre el archivo style.css de tu child theme (no el del padre) y añade tus estilos debajo del bloque de comentarios. Por ejemplo:
/* Cambiar el color de los enlaces */
a {
color: #ff6600;
}
/* Aumentar el tamaño de los títulos */
h1 {
font-size: 2.5rem;
}
Guarda el archivo y recarga tu web. Verás los cambios aplicados.
Añadir funciones PHP personalizadas
En el archivo functions.php de tu child theme, puedes agregar funciones sin miedo a que se pierdan. Por ejemplo, para añadir un script de Google Analytics:
function add_google_analytics() {
?>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXX-Y"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXX-Y');
</script>
<?php
}
add_action('wp_head', 'add_google_analytics');
Sobrescribir plantillas del tema padre
Si quieres modificar un archivo de plantilla (como header.php, footer.php o single.php), simplemente copia ese archivo desde la carpeta del tema padre a tu child theme y edítalo. WordPress usará automáticamente la versión del child theme.
Ejemplo:
- Ve a
wp-content/themes/astra/header.php. - Cópialo a
wp-content/themes/astra-child/header.php. - Edítalo con tu editor (por ejemplo, añade un banner personalizado).
- Guarda y recarga la web.
[WARNING] No copies todos los archivos del padre. Solo aquellos que necesites modificar. Si copias muchos, el child theme puede volverse pesado y difícil de mantener.
Preguntas frecuentes (FAQ) sobre child themes
1. ¿Puedo usar un child theme con cualquier tema de WordPress?
Sí, siempre que el tema padre esté bien codificado. La mayoría de temas modernos (Astra, GeneratePress, Twenty Twenty-Four) lo soportan.
2. ¿Un child theme afecta la velocidad de mi web?
No, de hecho puede optimizarla porque solo cargas los archivos que realmente necesitas. Es más ligero que un tema personalizado desde cero.
3. ¿Qué pasa si el tema padre se actualiza y mi child theme deja de funcionar?
Es muy raro, pero puede ocurrir si el padre cambia funciones clave. En ese caso, actualiza tu child theme para adaptarlo. Lo bueno es que tus cambios no se pierden.
4. ¿Necesito saber programación para usar un child theme?
No. Con solo saber subir archivos y copiar/pegar código puedes empezar. A medida que aprendas, irás añadiendo más personalizaciones.
5. ¿Puedo tener varios child themes para un mismo tema padre?
Sí, pero solo puedes tener uno activo a la vez. Puedes crear varios para diferentes propósitos (por ejemplo, uno para pruebas y otro para producción).
6. ¿Cómo accedo a mi hosting para crear el child theme?
Usa FTP o el gestor de archivos de tu panel. Si tu hosting usa Syspanel, accede por el puerto 2106 (ejemplo: https://tudominio.com:2106) y ve a "Archivos" > "public_html" > "wp-content" > "themes".
Conclusión: ¿Por qué todo principiante debería usar un child theme?
Crear un tema hijo WordPress es como ponerse el cinturón de seguridad antes de conducir. No cuesta nada, no duele y te salva de accidentes. En este WordPress child theme tutorial has aprendido dos métodos: el manual (que te da control total) y el de plugins (para los que prefieren la comodidad).
Ahora ya puedes personalizar tu web sin miedo a que una actualización del tema padre te borre horas de trabajo. Empieza con cambios pequeños: colores, fuentes, un banner en el header. Poco a poco, te sentirás más seguro y podrás modificar plantillas enteras.
Recuerda: siempre que quieras hacer un cambio importante, primero crea un child theme. Tu yo del futuro te lo agradecerá.
[TIP FINAL] Guarda siempre una copia de tu child theme en tu ordenador. Si algún día cambias de hosting, solo tendrás que subir la carpeta y activarlo. ¡No pierdas tu trabajo!
