El 2 de Octubre abrimos nuestra nueva AcademiaWP.online para aprender WordPress a tu ritmo, cómodamente

Ⓦ Cómo crear un Child Theme en WordPress


Tiempo de lectura: 3 minutos

¿Has modificado manualmente la apariencia de tu Theme: un color, una traducción, un texto… y al poco tiempo, el desarrollador ha actualizado y se han perdido tus cambios y has vuelto a tenerlo como al principio?  Debes aprender cómo crear un Child Theme.

¿Qué es un Child Theme?

Aunque se llama así técnicamente, en realidad lo que se hace es crear una copia de una plantilla determinada, de tal forma que copia todos los estilos de la plantilla original.

La idea de hacer esto es para que tus modificaciones se hagan en la plantilla copia en lugar de la original. Tu plantilla activa, será realmente la copia y será ella con la que trabajas.

De esta forma, el día que el desarrollador actualice su plantilla original, tus modificaciones no desaparecerán ya que en realidad están hechas en la copia.

A esta copia se la llama Child Theme (tema hijo) porque depende directamente del Parent Theme (el original)

Cómo crear un Child Theme

Básicamente existen dos formas de crear un Child Theme en WordPress: o bien lo haces manualmente, o utilizas un plugin que se encargue de hacerlo todo.

En este caso no debes preocuparte por los recursos que consuma el plugin, ya que únicamente lo vas a utilizar para crear el Child Theme; una vez que esté creado, puedes desinstalarlo y borrarlo sin miedo, ya que no tiene ninguna otra función.

Puesto que este blog está más orientado a usuarios sin conocimientos avanzados en WordPress, voy a explicarte la segunda opción: utilizando un plugin.

Child Theme Configurator

Para crear un Child Theme voy a utilizar este plugin, ya que es uno de los más fiables del repositorio de WordPress y además es gratis. Además es muy fácil de utilizar y las veces que lo he utilizado no me ha generado ningún tipo de problema.

Este plugin cuenta con más de 100.000 instalaciones activas y una valoración de 4.8 / 5 estrellas.

Una vez instalado y activado, deberás acceder al menú Herramientas de tu Panel de Administración de WordPress y ahí seleccionar la opción “Child Themes”. Entonces se te abrirá la pantalla de opciones para crear un Child Theme.

En esta pantalla, verás marcados de color azul unos pasos numerados, donde deberás de ir eligiendo las opciones según tus necesidades.

Cómo crear un Child Theme en WordPress
Panel de opciones de Child Theme Configurator

El proceso es muy simple:

  1. Elige “Crear nuevo Child Theme”
  2. Selecciona del menú desplegable el Theme del que desees crear la copia
  3. Pulsa sobre “Analizar”
  4. Elige un nombre para la carpeta donde se va a guardar el Child Theme en tu hosting (puedes dejar el que trae por defecto)

El resto de opciones es preferible no tocarlas, y dejarlas tal cual vienen por defecto en el plugin para evitar que se puedan sobreescribir archivos de estilos y funciones.

Salta directamente al paso 9.- Crear nuevo Child Theme

Y así de fácil has creado tu Child Theme. Ahora únicamente tienes que acceder a la opción “Apariencia” de tu menú de Administrador de WordPress y ahi seleccionar “Temas”.

Verás que en tu listado de Themes te ha aparecido uno nuevo, cuyo nombre incluye la palabra Child. Este es tu nuevo tema. Debes seleccionarlo y activarlo.

Ahora ya puedes desactivar y borrar el plugin que has instalado para crear el Child Theme.

Modificar un Child Theme de WordPress

Si entras en tu hosting, te darás cuenta de que el plugin ha creado de forma automática un directorio nuevo dentro de Themes, con el nombre que has elegido.

Dentro de estar carpeta únicamente tendrás 3 archivos:

  1. functions.php (donde indica que las funciones deberá heredarlas de su Parent Theme)
  2. screenshot.png (que es la captura de pantalla que muestra en la zona de Temas de tu WordPress)
  3. style.css (un archivo vacío donde especificar los estilos del nuevo Theme)

Por tanto, debes tener claro que, para modificar cualquier estilo del Parent Theme, primero tendrás que copiar en la carpeta del nuevo Theme el archivo original y modificarlo según tu gusto o necesidades.

El Child Theme está programado de tal forma que siempre dará prioridad a los archivos que hay en su carpeta, antes de los originales. Es decir, el Child Theme primero buscará un archivo en su propio directorio y, únicamente cuando no lo encuentre (porque no es algo que quieras modificar y, por tanto no lo has creado), irá a la carpeta del Parent Theme a leerlo allí.

El Video Tutorial

Como este tema es un poco complicado para explicar en palabras, he creado un video tutorial para la ocasión, pra que de esta forma lo puedas entender más fácil.

 

Conclusión

Es muy recomendable que nunca modifiques los archivos originales de tu Theme por dos motivos principales:

  • Por si el desarrollador actualiza su theme. En este caso, si actualizas la versión del theme en tu WordPress, sobreescribirá toda la carpeta del theme original. Si has guardado ahí tus modificaciones, también las perderás.
  • Por si cometes un error modificando cualquier archivo de estilos. Si al modificar cualquier archivo del theme borras alguna línea que no deberías de haber tocado, si lo has hecho sobre la copia, siempre podrás volver al original sin que tu blog sufra ningún daño.

Crear un Child Theme con el plugin que te he recomendado lo puedes hacer en menos de 5 minutos y realmente merece la pena.

¿Has modificado alguna vez un Theme? ¿Qué cosas son las que sueles personalizar a tu gusto normalmente cuando instalas un theme? ¿Tienes algún truco a la hora de hacerlo?

Gracias por dejarme tus comentarios y compartir tus experiencias con otros lectores.

 


Juanma Aranda

Blogger, podcaster, youtuber, community manager... en fin, multiempleado para mi mismo en esta locura llamada "WordPress para Novatos". Y por las mañanas, Gestor de Seguros 😉 Así que no tengo tiempo para aburrirme, pero para cualquier cosa, puedes contactarme desde la pestaña "Contactar" o a través de las Redes.
¿Te parece interesante este artículo?
[Total: 1 Promedio: 5]

11 comentarios en “Ⓦ Cómo crear un Child Theme en WordPress

  1. HOla,
    Una duda que me surge. Al crear un child theme copio en él un archivo que modifico (archivo.php) . Si luego actualizo el tema padre y en esa actualización el archivo.php ha sido actualizado por el desarrollador, ¿el blog sigue leyendo el mío? ¿Esto no dará error en el blog si hay algún cambio importante en archivo.php por parte del desarrollador?

    • Hola Jesús!
      Gracias por pasarte por el artículo y dejar tus preguntas.

      WordPress siempre va a leer primero los archivos contenidos en el ChildTheme. En el caso de que no encuentre ahí el archivo que busca, iría a buscarlo al Parent Theme.

      Es decir, si el desarrollador actualiza algo, se guardaría en la carpeta original del theme, por lo que siempre va a prevalecer tu modificación sobre la de él.

      Si por casualidad el archivo modificado por tí es alguno que está provocando un bug de seguridad importante en tu instalación de WordPress (como por ejemplo ha pasado muchas veces con el theme “Avada”), sería conveniente volver a hacer las modificaciones sobre el theme original, aunque no suele ser lo habitual y siempre consultándolo antes con el desarrollador del theme.

      Un abrazo!

    • Gracias Gerardo! Lo cierto es que crear un theme hijo es algo de vital importancia a la hora de hacer modificaciones de la plantilla, y por suerte este plugin nos lo facilita todo 😉

  2. Hola Juanma, ahora si mi plantilla viene con un child theme incluido debo de crear mi sitio en ese y no tocar el tema padre? o entiendo mal. O creo mi sitio en el de padre y hago child theme con el plugin? Gracias. Saludos desde Chile.

    • Hola Ingrid!
      Los Child Theme únicamente los vas a poder hacer de los Parent Theme.
      Si tu Tema Padre ya trae un Child, habría que ver el motivo por el que es así. Lo habitual es que las plantillas “normales” no traigan Child Theme instalado.
      Un saludo!
      Este proceso no vale para hacer Child Theme de plantillas de Génesis, ya que este theme utiliza un sistema distinto.

Deja un comentario