Si estás empezando con WordPress una de las cosas importantes que seguramente te han dicho, es que necesitas un Child Theme.

De este modo te aseguras de que al actualizar el tema que usas, no pierdas ninguno de los cambios que hayas hecho.

Es cierto, pero no siempre.

¿Cuándo necesitas un Child Theme?

Como es habitual, toda afirmación tiene sus matices y depende del grado de modificaciones que vayas a realizar.

No necesitas un Child Theme si:

  • Vas a escribir menos de 100 líneas de CSS
  • No vas a usar Javascript
  • No necesitas modificar nada en php
  • No hay peligro de que nadie estropee tu código

Hoy en día, los buenos temas vienen con una zona para que se pueda añadir CSS personalizado, algunos incluso llevan un editor integrado, como Divi.

Así que si no te vas a meter en cambios drásticos o que impliquen tocar más código que el CSS, ahí es donde tienes que poner tu código para no perderlo.

Si lo haces así, al actualizar el tema, los cambios que haya en la zona CSS personalizado, se mantendrán.

Necesitas un Child Theme si:

  • Has hecho la web para un cliente o amigo con las manos largas.
  • Vas a necesitar añadir funciones
  • Vas a modificar alguna plantilla del tema (footer, header, sidebar)
  • Vas a añadir código Javascript
  • Vas a trabajar en equipo

Si la web no es tuya, proteger los cambios de gente que toca lo que no debe, es curarse en salud.

Tu puedes dejar la web niquelada y llegar otro, hacer alguna modificación y estropearlo todo.

Dicho esto, lo demás está bastante claro.

¿Cómo se hace un Child Theme?

Pues aunque parezca evidente, no lo es tanto. Depende del tema. Me explico.

Yo trabajo mucho con Divi, no entraré a defenderlo frente a quienes echan pestes, porque lo comparo con tener un pc o un mac. 

Siempre hay adeptos y enemigos de cualquier cosa que destaque.

Yo soy más bien partidaria de que cada uno elija y los demás lo respeten sin tratar de imponer sus ideas.

Bueno, que me he desviado.

Desde que WordPress ha actualizado su forma recomendada de llamar a los estilos del tema padre, todo lo que necesitas hacer es poner en cola de forma explícita el estilo principal.css de Divi, ya que Divi ya está configurado para poner en cola el style.css del Child Theme.

No olvides añadir una imagen a tu Child Theme

Si sólo vas a modificar CSS, pero más de 100 líneas de código, sólo necesitas crear una carpeta con el nombre de tu tema y allí crear un archivo llamado style.css

Además vas a necesitar una imagen que es la que se va a ver en la zona de temas de tu WordPress.

El tamaño recomendado es 1200px de ancho por 900px de alto y debes llamarlo screenshot.png

El nombre del archivo debe ser exactamente este para que WP lo reconozca.

El código básico para el fichero style.css de cualquier Child Theme es:

/*
Theme Name: Divi Child
Theme URI: https://www.elegantthemes.com
Description: Divi Child Theme
Author: Elegant Themes
Author URI: https://www.elegantthemes.com
Template: Divi
Version: 1.0.0
*/
/* =Theme customization starts here
------------------------------------------------------- */

De todo este encabezado del fichero style.css podría decirse que lo único realmente imprescindible es Theme name o nombre del tema, donde puedes poner lo que quieras y Template que es lo que le dice a WordPress cuál es el tema padre.

En este caso es Divi, pero si fuera otro, por ejemplo Genesis, debería poner el nombre exacto de la carpeta que lo contiene.

Es importante que la hoja de estilos se llame style.css, si usas otro nombre no te funcionará, al menos en este caso.

El fichero functions.php sólo vas a necesitarlo si añades código php, pero con una simple hoja de estilos y una imagen ya tienes creado tu child theme.

El código que vas a necesitar si creas un fichero functions.php con Divi es el el siguiente:

function my_theme_enqueue_styles() {
wp_enqueue_style( 'parent-style',
get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' );

No tienes que entenderlo, pero básicamente lo que hace es poner en cola los estilos del tema padre.

Si ya has hecho algún Child Theme y te da problemas, es posible que tu código sea el típico de WordPress y no se adapte a la característica de Divi que ya tiene en cuenta los Child Themes.

Esto no pretende ser un tutorial de temas hijo, sólo un pequeño aclaratorio de cuándo necesitas o cuando no, usar un tema hijo.

Añado el código de functions.php, porque yo misma tuve algún problema al principio usando el código para crear child themes que no tienen esa funcionalidad de Divi. Si a alguien le saca de un apuro, ese es mi objetivo.