Ⓦ Cómo crear un Child Theme en WordPress

¿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. Contenidos Ocultar 1 ¿Qué es un Child Theme? 2 Cómo crear un ... Leer más

Foto del autor

Juanma Aranda

43 comentarios

5 minutos de lectura
Como crear un Child Theme con WordPress

Colaboran con este sitio web:

¿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.

[et_bloom_inline optin_id=”optin_10″]

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.

43 comentarios en «Ⓦ Cómo crear un Child Theme en WordPress»

  1. Hola Juanma, gracias por el post. Funcionó añadí el child theme, Por el momento no he añadido cambios en el child que ahora esta activo como theme principal. Tengo dos dudas que no comprendo todavía. Ojalá puedas ayudarme.
    1º ¿Ahora debería trabajar los cambios de estilos futuros en el child theme y no tocar el Parent theme? Quiero decir, si hay actualizaciones en el parent theme debo incorporar estas nuevas modificaciones en el child y continuar trabajando desde el child todo el tiempo? Sorry, no me queda muy claro.
    2º Me recomiendas mejor trabajar con un framework o esta posibilidad del child es más recomendable.

    Muchas gracias Juanma, una vez más.
    Saludos

    Responder
  2. Gracias Juanma, por segunda vez salvándome de mis apuros, no me he atrevido a generar child theme de forma manual pero me gustaría indagar, ahorita instale el plugin, quisiera saber algo, tengo una duda, después de haber instalado el child theme, elegido el theme-child para cambiar estilos, estos estilos no pasan al theme parent o theme padres? solo quedan el el child theme? en este caso, de ser afirmativo entonces si por (X) causa se daña el child theme por algún error, entonces mi salvación seria el tema padre pero sin esos estilos que he configurado en el Child-theme?

    Responder
  3. Hola me ha servido mucho este articulo para entender lo del child Theme solo una duda estoy por instalar un theme Pro, aplica igual? Es decir al crear un child theme no tengo problemas con la licencia? El Parent Theme es el que va a ser valido y todas mis modificaciones no tendrán problema?

    Responder
  4. hola, he seguido tus pasos del plugin, y al visualizar el tema hijo, ha perdido todas mis configuraciones y cambios, ¿debo crearlo otra vez todo entero? me llevó meses modificar todo!

    Responder
    • Simplemente tienes que volver a activar el tema padre, copiar las personalizaciones que has hecho y meterlas dentro de la carpeta del tema hijo si no las lee del tema padre.

      Responder
    • Puedes hacerlo sin problema. En realidad, el ChildTheme bebe del tema padre, que es en el que tienes la licencia. Tienes que seguir manteniéndolo instalado, aunque desactivado.

      Responder
  5. Tengo un tema que modifiqué y no tenia idea sobre crear un tema-hijo, que puedo hacer ahora que cree el tema-hijo y cuando lo activo cambia la personalizacion, queda como cuando usas el tema recien instalado, ya he cambiado imagenes, color de fondo, letra, tenia agregado imagenes y ahora todo esos cambios no estan. que puedo hacer para recuperar esa configuracion????
    modifique archivos que estaban en carpetas /tema/inc/css/style.css
    tengo otra modificacion que hice en un archivo de una carpeta de javascript y ahora no se como ponerlo en el tema hijo, debo de crear una ruta de carpetas similares para ahi colocar el archivo modificado de javascript????
    y ese style.css es diferente al style.css que está al principio del tema, no sé que es lo que debo de agregar, quitar o modificar, es todo confuso

    Responder
  6. Hola Juanma! Gran trabajo con este artículo.

    Tengo un WP con Divi que tiene grandes cantidades de ajustes css. La pregunta es: al activar el child theme ¿antes debo copiar todo ese css para pegarlo en el child theme, o hereda automáticamente los css del parent al child?

    Gracias.

    Responder
    • Hola Rei.

      El teme hijo hereda del tema padre… pero Lo lógico es que el CSS lo pegues en el Childtheme y lo borres del theme padre. De esta forma, cuando actualicen el theme, tú no perderás esos estilos personalizados.

      Un saludo!

      Responder
  7. Hola! Gracias por tu post!

    mi problema es que no puedo acceder a mi hosting porque WordPress no me facilita los datos. Es normal? Tengo alguna otra forma de conocer mis datos de acceso?

    Gracias!

    Responder
  8. la cosa es que ya tengo mi web publicada y terminada y lei de la posibilidad de perdida de configuracion si actualizo mi tema ….y queria saber la posiblididad de no hacer tema hijo manual o por plugin pero solo si No pasa nada si nunca actualizo mi tema, claro.
    la copia de seguridad si las hago con el mismo programa que usas tu. un saludo y gracias de antemano.

    Responder
  9. hola, bien explicado todo. me ha gustado, pero yo tengo una pregunta? y seguro que la sabes…. si yo decido no actualizar nunca la actualizacion (gratis)del tema que uso, pasaria algo en un futuro? incompatibilidad con actualizacion de wordprees o pluging tal vez?

    Responder
    • Hola Fátima!

      Esto que me comentas no deberías ni planteártelo. Cuando un desarrollador lanza una revisión de su theme es, en la mayoría de los casos, porque ha incluido mejoras o funcionalidades nuevas.. pero en otros muchos casos, resuelve problemas o fallos de seguridad.

      Es totalmente recomendable tener tu theme y plugins SIEMPRE actualizados a la última versión, al igual que el core de WordPress. Esto no va a cambiar ni borrar tu configuración, ya que ésta está guardada en la base de datos… pero para mayor seguridad puedes crear un Child Theme como explica el artículo y trabajar las nuevas modificaciones sobre él.

      Un saludo!

      Responder
  10. Hola Juan,

    Entonces con el tema hijo nunca se van a ver reflejadas las modificaciones que traen las actualizaciones del tema que estemos usando?

    Responder
    • Hola Jenn!

      Las modificaciones que el desarrollador haga en el theme padre se verán reflejadas sin problema en tu Childtheme, porque sigue leyendo de él. Lo único que los archivos que tú hayas modificado en el hijo, tendrán preferencia sobre lo que haya en ese mismo archivo en el tema padre.

      Saludos!

      Responder
  11. Hola!! Muchas gracias por el post! instalé muy bien el plugin con tus indicaciones y creé el child theme!! Ahora me surgieron estas dudas… jeje
    1. Debo activarlo el child theme?
    2. Si hay una actualización del tema padre, me mantengo con el tema hijo como activo? o cómo se hace en este caso?
    3. Cada vez que haya actualización del tema padre debo crear un tema hijo? o cómo funciona?
    Gracias anticipadamente!

    Responder
    • Hola Valeria!

      Gracias por pasarte por mi blog y leer mis artículos.

      Una vez instalado el ChildTheme, debes activarlo para que funcione (aparentemente no notarás nada, pero no te preocupes).

      Tú ya no tienes que preocuparte de nada más. Aunque el theme se actualicé, tu seguirás teniendo tu Childtheme instalado y no tendrás que volver a crear más mientras no cambies el tema padre por otro distinto.

      Un saludo!

      Responder
      • Hola JuanMa!! Gracias por tu pronta respuesta!!! Cuando le di activar el tema hijo me mostró mi página sin ningún cambio ni texto como ya lo tenía anteriormente…
        🙁 qué me sugieres hacer??

        Responder
        • Hola! Como ya te adelantaba, el tema hijo no muestra ninguna modificación, a no ser que hayas modificado uno de los archivos de estilo o programación del padre y lo hayas guardado en la carpeta del hijo.
          De otra manera no verás aparentemente ningún cambio.

          Responder
          • JuanMa… y ahora qué me recomiendas hacer? Tendría que volver a configurar todo de nuevo en el tema hijo?

  12. Hola Juanma

    Ayer vi tu directo en youtube, muy bueno.

    Una pregunta: En mi caso funciono con Astra Pro + Elemento Pro

    Astra dispone de un child theme descargable que después ya configuras a tu gusto.

    Pero para mí es muy nuevo esto de los childs themes porque siempre he ido ” a pelo “, a si que todavía no lo he probado.

    Mi pregunta es: Teniendo en cuenta que además del Astra uso el Elementor ( incluso en alguna página uso el Slider Revolution ) ….

    …¿ Qué haríamos aquí en esos casos ?

    Es decir, cada vez que se actualice Astra o bien el Elementor etc, nos desconfiguraría toda la página? , y , ¿deberíamos añadir más cosas al child theme o simplemente los códigos del theme base , en este caso Astra?

    Por último, con la preocupación que andamos siempre en la batalla de la velocidad de carga.. ¿ no será un lastre considerable en una página en la que usamos constructores , a sumar con todo el resto de plugins, SEO, seguridad, backups, etc etc ?
    Aunque es bien cierto que funcionando con un child theme duermes más tranquilo a la hora de que se avecinen actualizaciones, eso sí.

    Gracias y un saludo!

    Responder
    • Hola Frank.

      Siento no poder ayudarte mucho, porque no conozco el theme Astra… eso deberías preguntarlo a los desarrolladores del theme.

      Por otro lado, Elementor (de momento) es un plugin, un constructor visual para hacer entradas más atractivas, por lo que ahí no te va influir el ChildTheme para nada.

      Respecto a si el uso de plugins adicionales hace tu WordPress más lento… siempre va a depender de muchos factores. Un plugin en sí, si está bien optimizado no tiene porqué influir.

      Un saludo!

      Responder
  13. A mi la creación de Child temas me ha generado algún contratiempo cuando se ha actualizado el tema original. Se que lo que me ha sucedido a mi no es norma genérica, pero lo cierto es que crear un child no siempre es garantía de que vas a tener protegidas las modificaciones que hagas al original. Normalmente las modificaciones que se hacen a un tema, son en mayoría propiedades nuevas de css y alguna función php que añadas, así que si al crearlas las vas anotando, por ejemplo en un txt, en caso de actualización del tema, haces un copy paste al style.css o al .php y ya tendrias otra vez todo en su sitio, con la ventaja de que no tienes un child que te produce una pequeña demora añadida al tiempo de carga de las páginas del blog.
    En cualquier caso gracias por la información, no conocía ese plugin. Un saludo.

    Responder
    • Hola Miguel!

      Como bien dices, lo que te ha ocurrido no es lo normal… yo soy partidario de crear siempre un Child Theme e ir trabajando con él para evitar sorpresas.

      Un saludo y gracias por tu aportación! 😉

      Responder
  14. 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?

    Responder
    • 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!

      Responder
    • 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 😉

      Responder
  15. 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.

    Responder
    • 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.

      Responder

Deja un comentario

En wpnovatos.com, los datos personales que nos proporciones serán tratados con el fin de moderar tus comentarios por Juanma Aranda. Puede que los datos que nos facilites sean compartidos con terceros de acuerdo con lo que se establece en la Política de Privacidad y Cookies. Además, puedes revocar tu consentimiento, consultar cómo ejercer tus derechos y ampliar la información sobre el tratamiento de tus datos en nuestra Política de Privacidad y Cookies.