En WordPress se denomina tema hijo a un tema que hereda el diseño y las funcionalidades de otro tema (el padre). ¿Y para qué sirve? Pues para poder adaptar el tema padre a nuestras necesidades sin ser intrusivos.

¿Por qué crear un tema hijo en WordPress?

En WordPress es importante no tocar código directamente dentro del core, los temas o los plugins. De hacerlo, tendremos que tenerlo muy bien documentado ya que esos cambios se perderán en caso de actualizar. ¡Y hay que mantener la página actualizada por seguridad!

Ahí entra en funcionalidad nuestro tema hijo: Tenemos un tema que hereda todas las funcionalidades del tema padre y en el que podemos añadir y editar funcionalidades.

¿Cómo crear un tema hijo?

Si has adquirido un tema comprado, es probable que en los archivos que te proporciona el desarrollador, ya venga el tema hijo creado. En este caso, simplemente sube los dos temas a tu instalación y activa el hijo en lugar del padre.
Si no lo trae, instala el que te proporcionan; luego crea el hijo y lo activas. Una vez activado, ve al front office y comprueba que no ha cambiado nada.

Cabe decir que hay plugins como Child Theme Configurator que te ayudan en esta tarea, aunque yo soy partidario de instalar sólo las extensiones imprescindibles. De este modo, facilitamos el mantenimiento de WordPress. Además, crear un tema hijo es muy sencillo:

  • Instala el tema padre por el proceso habitual: Lo subes desde el panel o por FTP y lo activas.
  • Crea en tu ordenador una carpeta y nómbrala como quieras llamar al tema hijo. Te recomiendo no dejar espacios. Yo lo voy a llamar yosoytuhijo.
  • Crea un archivo dentro de yosoytuhijo llamado style.css, ábrelo con un editor de texto y añade la siguiente cabecera:
/*
 Theme Name: Yo soy tu Hijo
 Template: yosoytupadre
 Text Domain: yosoytuhijo
 */
  • IMPORTANTE: El template es el nombre de la carpeta contenedora del tema padre. Si no sabes cual es, accede desde FTP a /wp-content/themes y compruébalo.
  • Crea el archivo functions.php. No siempre es necesario, pero así ya lo tienes creado para cuando necesites añadir funcionalidades. De entrada, añade el siguiente código:
<?php
function my_theme_enqueue_styles() {

    $parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.

    wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style',
        get_stylesheet_directory_uri() . '/style.css',
        array( $parent_style ),
        wp_get_theme()->get('Version')
    );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );
?>
  • Ya puedes subir el tema hijo a WordPress por el mismo procedimiento que subiste el padre.
  • Actívalo y revisa que todo funciona correctamente.

¿Se puede crear un tema hijo si el tema padre estaba ya funcionando?

Sí. Puedes crear el tema hijo y subirlo, pero debes tener en cuenta algunas cosas. Hay algunos temas que guardan la configuración en archivos en lugar de en la base de datos. Esto hace que al crear el tema hijo se pierdan todas las configuraciones previas y haya que hacerlas de nuevo. Esto es un trabajo muy engorroso, así que:

  • Haz una copia de seguridad de tu instalación de WordPress. Si bien no vas a perder nada de tu página, te aseguras poder recuperar esas configuraciones.
  • Busca en las opciones de tu tema. Cuando se da el caso que comentaba en el punto anterior, suele haber una pestaña para importar y exportar configuraciones. Si la localizas, exporta (suele generar un archivo txt o xml).
  • Actualiza el tema a la última versión. Ojo si habías modificado previamente algo en los archivos (¡por eso hay que crear el tema hijo!).
  • Sube tu tema hijo.
  • Si previamente has descargado la configuración en un archivo, es el momento de importarla. Las opciones del tema las tendrás en el mismo sitio y serán las mismas que tenías con el tema padre.

Otros aspectos a tener en cuenta

Puedes personalizar la cabecera del archivo style.css a tu antojo, poniendo el nombre que quieras a tu tema hijo y editando el nombre del autor o la versión. Te he indicado las líneas imprescindibles para facilitarte el trabajo, pero en la documentación de WordPress puedes consultar la cabecera completa.

También puedes cambiar la imagen que aparece en Apariencia para tu nuevo tema. Simplemente añade la que quieras que aparezca a tu carpeta yosoytuhijo con el nombre screenshot.png.

En caso de que algo haya salido mal, tu página se habrá desconfigurado por completo. ¡Que no cunda el pánico! Simplemente activa de nuevo el tema padre y contáctame. Quizás pueda echarte una mano.