¿Qué es un tema hijo en WordPress y cómo crearlo paso a paso?

Cuando trabajas creando sitios web con WordPress, a menudo necesitas añadir ciertas personalizaciones de diseño o nuevas funcionalidades. Esto puede no ser un problema si el tema que utilizas viene preparado para ello, pero otras veces necesitas aplicar cambios directamente en los archivos del ‘theme’. El problema de esto último es que dichos cambios se pierden al actualizar la plantilla.

Para dar solución a este problema existen los ‘child themes’ o temas hijo para WordPress. Si quieres saber qué son, sus ventajas y cómo crearlos, sigue leyendo este artículo porque te voy a explicar todo lo que necesitas saber,

Índice del artículo
  • ¿Qué es un tema hijo o child theme en WordPress?
  • ¿Para qué sirve un tema hijo en WordPress?
  • Ventajas de utilizar un child theme o tema hijo
  • ¿Cómo instalar un child theme en WordPress?
  • ¿Cómo crear un tema hijo en WordPress?
  • Crear un child theme o tema hijo en WordPress manualmente (sin plugins)
  • Crear un tema hijo en WordPress con plugins
  • Consejos y buenas prácticas a la hora de crear un tema hijo

¿Qué es un tema hijo o child theme en WordPress?


Un tema hijo (en inglés ‘child theme’) de WordPress es un tema que hereda todos los estilos y funcionalidades del tema padre.

Como ya sabes, WordPress funciona a través de plantillas que controlan la apariencia y funcionalidad del sitio web. Los temas hijo son simplemente temas que extienden las funcionalidades de un tema en particular (tema padre) y en los cuales puedes añadir nuevas funcionalidades y/o estilos sin que el tema padre se vea afectado.

Tema hijo en WordPress, qué es y cómo crearlo

¿Para qué sirve un tema hijo en WordPress?


Un ‘child theme’ o tema hijo sirve para poder hacer modificaciones en un tema de WordPress sin miedo a que afecten al tema original. Dicho de otro modo, un tema hijo es una “copia” del tema padre en la que puedes añadir personalizaciones que permanecerán después de actualizar el tema padre. Estas personalizaciones pueden ir desde añadir estilos CSS hasta sobreescribir archivos del tema padre.
Un tema hijo no se actualiza. Las actualizaciones las recibe siempre el tema padre.

Por ponerte un ejemplo, imagina que quieres cambiar por completo el diseño del sidebar de tu blog. Para ello vas a los archivos de tu tema padre y editas el ‘style.css’ para añadirle, por ejemplo, un fondo de color, cambiar el ‘padding’ y el color de los textos. Ya tienes el sidebar personalizado y al cabo de unos días tu tema recibe una actualización de seguridad importante, por lo que lo actualizas. Después de actualizar, todos los cambios que has hecho en el sidebar ya no están, ya que al actualizarse se han sobreescrito los archivos del tema y tus cambios se han perdido.

Si hubieras tenido instalado un tema hijo, habrías llevado a cabo los cambios en el ‘style.css’ del mismo. Este ‘style.css’ está heredando por defecto el ‘style.css’ del tema padre, y además aplicará los nuevos estilos que añadas en él. Cuando actualices el tema padre, tus nuevos estilos CSS no se verán afectados, ya que pertenecen al tema hijo.

Ventajas de utilizar un child theme o tema hijo


Las ventajas de usar un tema hijo en WordPress son más que evidentes. En primer lugar, podrás personalizar el diseño y funcionalidades de tu sitio sin perder los cambios al actualizar el tema original. Tener tu tema actualizado es importante, y esto te da cierta seguridad a la hora de actualizar el tema padre, ya que no tendrás que pararte a pensar si la actualización afectará a tus personalizaciones.
En respuesta a la pregunta “¿Cuándo debería usar un tema hijo?” mi consejo es: SIEMPRE

Por otro lado, te resultará más fácil mantener organizado tu código, ya que todas tus personalizaciones estarán en el tema hijo, modificando solo lo necesario. Además, a la hora de desarrollar nuevas funcionalidades te estarás asegurando que el tema padre no se verá afectado, ya que no lo estás modificando, por lo que a la hora de solucionar posibles errores podrás deshacer tus cambios fácilmente.

¿Cómo instalar un child theme en WordPress?


Instalar un tema hijo o child theme en WordPress es tan sencillo como instalar un tema normal. Si el tema que utilizas tiene ya disponible un tema hijo (puedes buscarlo en la documentación del tema en cuestión), solo tendrás que descargarlo, instalarlo y activarlo.

Te pongo un ejemplo con el tema ‘Astra’:

Supongamos que tengo instalado el tema ‘Astra’ en mi sitio web y quiero instalar un tema hijo. Buscando en la documentación de Astra veo que tienen disponible un tema hijo, así que me lo descargo.

Cómo instalar un tema hijo en WordPress

A continuación voy a "Apariencia > Temas", pulso en ‘Añadir nuevo tema’ y luego en ‘Subir tema’. Elijo el archivo ‘astra-child.zip’ que me he descargado y le doy a ‘Instalar ahora’. Una vez instalado, lo activo. El tema hijo ya está instalado y funcionando.

Instalar y activar un tema hijo en WordPress

Si te fijas, ahora tengo dos temas en mi instalación de WordPress: Astra y Astra Child. Aunque el tema activo es Astra Child, es importante que no elimines el tema Astra, ya que es el tema padre desde el que Astra Child heredará estilos y funcionalidades. Y por supuesto, a la hora de actualizar recibirás las actualizaciones en el tema padre ‘Astra’.

¿Cómo crear un tema hijo en WordPress?


En el apartado anterior te he explicado cómo instalar un tema hijo teniendo en cuenta que el tema original ya tenga uno que te puedas descargar. Pero si estás trabajando sobre un tema propio o sobre un tema que no te proporciona un tema hijo, puedes crearlo tú mismo.

Para ello, y como casi siempre que hablamos de WordPress, tienes dos maneras de hacerlo: a mano o con plugins. Sea cual sea tu elección, te voy a explicar ambos métodos.

Pero antes de nada, creo que es importante comentar una cosa. Desde la llegada del ‘Full Site Editing’ (FSE) a WordPress en la versión 5.9 del CMS, el hecho de utilizar un tema hijo es debatible, ya que los denominados ‘block themes’ (temas basados en bloques) utilizan un fichero ‘theme.json’ que facilita la creación de estilos. Además, los cambios que realices en el editor del tema se guardarán en la base de datos, por lo que no se perderán al actualizar el tema.

Aun así, personalmente sigo pensando que es importante crear un ‘child theme’ o tema hijo, ya que más allá de los estilos puede ser necesario añadir nuevas funcionalidades o incluso sobreescribir algunos archivos del tema. Para esos casos sí o sí necesitarás un tema hijo si no quieres perder los cambios al actualizar.

Aclarado esto vamos, ahora sí, a ver cómo se crea un tema hijo en WordPress.

Crear un child theme o tema hijo en WordPress manualmente (sin plugins)


Para crear un tema hijo en WordPress sin utilizar plugins lo primero que tienes que tener es acceso a los archivos de tu instalación de WordPress. Puedes utilizar un cliente FTP como Filezilla o acceder a través del administrador de archivos de cPanel o del panel que utilice tu hosting. También es recomendable que estés familiarizado con la estructura de archivos y carpetas de WordPress.

Estructura o árbol de carpetas de WordPress

Los temas se guardan dentro de ‘wp-content > themes’.  Dentro de esta carpeta encontrarás todos los temas que tengas en tu instalación de WordPress (tanto activos como inactivos).

Dicho esto, el proceso que tienes que seguir para crear un tema hijo en WordPress es:

1 . Elige el tema sobre el que quieres crear un tema hijo y crea una carpeta dentro de ‘wp-content > themes’ con el mismo nombre que el tema padre pero con el sufijo ‘-child’.

En mi caso voy a crear un tema hijo para el tema ‘Twenty Twenty-Four’ de WordPress, cuya carpeta se llama ‘twentytwentyfour’, por lo que la carpeta del tema hijo deberá llamarse ‘twentytwentyfour-child’.

Crear una carpeta para el tema hijo

2 . Dentro de la carpeta que acabas de crear, crea un archivo llamado ‘style.css’ con el siguiente código:
Theme Name: Twenty Twenty-Four Child

Theme URI: https://cdn.raiolanetworks.com/

Description: Twenty Twenty-Four Child Theme

Author: David Suárez

Author URI: https://cdn.raiolanetworks.com/

Template: twentytwentyfour

Version: 1.0.0

License: GNU General Public License v2 or later

License URI: http://www.gnu.org/licenses/gpl-2.0.html

Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news

Text Domain: twentytwentyfour-child


Te explico brevemente los campos del código anterior para que los entiendas y personalices según te convenga:

  • Theme Name: es el nombre del tema hijo.

  • Theme URI: la URL de la página principal del tema hijo.

  • Description: la descripción del tema hijo.

  • Author: el nombre del autor del tema hijo.

  • AuthorURL: URL del sitio web del autor.

  • Template: sirve para hacer referencia al tema padre. Aquí tienes que poner el nombre exacto de la carpeta del tema padre.

  • Version: el número de versión.

  • License: el tipo de licencia.

  • License URI: la URL al tipo de licencia.

  • Tags: etiquetas bajo las que podrá ser encontrado el ‘child theme’.

  • Text domain: es un identificador que sirve para crear traducciones del tema hijo.


Si estás creando un tema hijo a partir de un tema existente y no sabes qué poner en alguno de los campos como por ejemplo los relativos a las licencias, copia lo mismo que tenga el tema padre.

3 . Si quieres personalizar la imagen del tema hijo que estás creando (la que se ve dentro de Apariencia > Temas), puedes subir un archivo llamado ‘screenshot.png’ a la raíz de la carpeta de tu tema hijo.

Cómo personalizar la imagen del tema hijo o child theme en WordPress

4 . En este punto tu tema hijo ya aparecerá dentro de los temas elegibles en ‘Apariencia > Temas’ y ya podrías activarlo. Pero para que sea completamente funcional faltan todavía algunos detalles. De momento tu tema hijo no está heredando los estilos del ‘style.css’ del tema padre. Necesitas ‘encolar’ los estilos del tema padre para que el tema hijo los herede.

Para ello crea un archivo llamado ‘functions.php’ en la raíz de la carpeta de tu tema hijo con el siguiente código:
<?php

function estilos_tema_hijo() {

wp_enqueue_style( 'child-theme-styles', get_stylesheet_uri());

}

add_action( 'wp_enqueue_scripts', 'estilos_tema_hijo' );


Esta es la manera habitual de encolar los estilos del tema padre en el tema hijo, pero puede variar en algunos temas concretos. Si tienes cualquier duda consulta la documentación oficial del tema que estés utilizando.

Estructura básica de carpetas y archivos de un tema hijo de WordPress

Si estás utilizando un tema basado en bloques (‘block theme’) es posible que no necesites realizar este paso, ya que los estilos se gestionan a través del ‘theme.json’. De todas formas sigue siendo interesante que tengas un archivo ‘functions.php’ en tu tema hijo por si necesitas añadir nuevas funcionalidades.

5 . Para los ya mencionados ‘block themes’ también puedes crear un archivo ‘theme.json’ en la raíz de tu tema hijo si lo necesitas, aunque este paso es totalmente opcional.

6 . A mayores puedes copiar cualquier archivo que quieras sobreescribir y personalizar desde el tema padre al tema hijo. Eso sí, ten en cuenta que debes seguir en todo momento la misma estructura de carpetas que tenga el tema padre. Por ejemplo, si quieres personalizar el archivo ‘footer.php’ del tema padre, que está dentro de la carpeta ‘parts’, debes crear la carpeta ‘parts’ en tu tema hijo y dentro de ella el archivo ‘footer.php’. De esta manera puedes personalizar cualquier archivo que tengas en el tema padre.

Crear un tema hijo en WordPress con plugins


Si el código no es tu fuerte o no quieres complicarte demasiado, puedes recurrir a un plugin para crear un tema hijo en WordPress. Existen muchos plugins para crear un tema hijo o ‘child theme’ en WordPress, te explico cómo hacerlo con algunos de los más habituales.

Crear un tema hijo en WordPress con ‘Generate Child Theme


Este plugin es muy sencillo y fácil de usar, ya que no hay muchas opciones que configurar para crear tu tema hijo. Pese a ello cumple su función y para crear un ‘child theme’ tan solo tienes que ir a ‘Generate Child Theme’ en el menú lateral del panel de administración de WordPress. En la siguiente pantalla verás que tienes varios campos que rellenar o configurar:

  • Select Parent Theme: para seleccionar el tema a partir del cual crear su tema hijo.

  • Child theme's name: para darle un nombre a tu tema hijo.

  • Description: para darle una descripción.

  • Author: para elegir el nombre del autor.

  • Version: para el número de versión.


Crear un tema hijo en WordPress con el plugin Generate Child Theme

Una vez tengas todos configurado a tu gusto, pulsa el botón ‘Generar’ y tu tema hijo estará listo para ser activado y utilizarlo.

Crear un tema hijo en WordPress con ‘WP Child Theme Generator


Este plugin es muy similar al anterior, sobre todo en cuanto a sencillez y facilidad de uso. Para acceder a la configuración de ‘WP Child Theme Generator’ y crear un ‘child theme’ puedes hacerlo de dos maneras. Desde el menú lateral de WordPress o entrando directamente al tema que quieras desde ‘Apariencia > Temas’ y pulsando el botón de ‘Child Theme Gen’. En cualquiera de los casos verás una pantalla como esta:

WP Child Theme Generator para crear un child theme en WordPress

Las opciones que puedes configurar son similares a las del plugin anterior y también similares al ejemplo de ‘Crear un child theme o tema hijo en WordPress manualmente (sin plugins)’ que te expliqué más arriba. Configúralas a tu gusto y pulsa el botón ‘Create Child Theme’.

Crear un tema hijo en WordPress con ‘Child Theme Configurator


Otro de los plugins que puedes utilizar para crear un tema hijo es ‘Child Theme Configurator’. Es el más completo de los tres que menciono en este artículo, pero a la vez es también muy fácil de usar.

Con Child Theme Configurator puedes crear, editar y duplicar temas hijo en WordPress

Para acceder a la configuración tienes que ir a ‘Herramientas > Temas hijo’ desde el ‘backend’ de WordPress. Si te fijas el plugin te permite hacer varias cosas:

  • Crear un nuevo tema hijo: Puedes crear un tema hijo configurando cómo se manejarán las hojas de estilos (qué hoja de estilos usar, cómo importarla o incluso ignorar los estilos del tema padre). También puedes configurar los atributos (nombre del tema, autor, etiquetas, etc.) y copiar ajustes de widgets y otras personalizaciones del tema padre al tema hijo.

  • Configurar un tema hijo existente: Te permite analizar un tema hijo que ya tengas y configurar los apartados mencionados en el punto anterior.

  • Duplicar un tema hijo existente: Te permite clonar un tema hijo que ya tengas, en un nuevo directorio.

  • Restablecer un tema hijo existente: Para restaurar la hoja de estilos y el archivo ‘functions’ de un tema hijo a su estado inicial. Los archivos adicionales que hayas creado para el tema hijo no se eliminarán.


Además de todo lo anterior, este plugin te permite hacer cosas interesantes como copiar archivos concretos del tema padre al tema hijo o exportar el tema hijo como un archivo .zip.

Consejos y buenas prácticas a la hora de crear un tema hijo


Llegados hasta aquí me gustaría acabar este artículo dándote unos consejos y buenas prácticas que deberías seguir a la hora de crear tu tema hijo:

  • Utiliza un tema hijo desde el principio siempre que puedas y lo necesites. Si sabes que vas a personalizar tu plantilla, no esperes a estar metido de lleno en el proceso. Cuanto antes crees el tema hijo mejor.

  • No modifiques archivos del tema padre, por pequeño que sea el cambio. Para eso tienes el tema hijo.

  • Duplica solo los archivos necesarios. Cuando crees un tema hijo, copia solo los archivos del tema padre que necesites sobreescribir (si es que necesitas personalizar alguno).

  • Si puedes probar las modificaciones en un entorno local o de pruebas, mejor. Así evitarás contratiempos innecesarios.

  • Cuando añadas funcionalidades en tu archivo ‘functions.php’ procura utilizar las funciones nativas de WordPress si es posible.

  • Documenta tu código. Esta es una buena práctica en general en el mundo de la programación. Documentar el código facilita el mantenimiento del mismo, sobre todo si trabajas en equipo.

David Suárez
David Suárez

David Suárez, trabaja en el departamento de marketing de Raiola Networks. Le apasiona el desarrollo web, el anime y jugar RocketLeague

Artículos relacionados

Si te ha gustado este post, aquí tienes otros que pueden ser de tu interés. ¡No dejes de aprender!

Tenemos 107 comentarios en ¿Qué es un tema hijo en WordPress y cómo crearlo paso a paso?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Avatar del autor del comentario

Jose soria

06/10/2018 a las 06:24

Hola Angela, una consulta sobre los child themes: si yo hago blogs en wordpress y utilizo elementor y hago pequeños cambios del css que guardo en "apariencia/css adicional" tambien me recomiendas crear un tema hijo ?
A veces cuando actualizo elementor se deja de ver la web. Tengo que desactualizar elementor y se vuelve a ver bien. Por qué ?
Has puesto "Soy graduada en Ingienería "
Gracias !!

Responder
Avatar del autor del comentario

Héctor Luaces

08/10/2018 a las 08:14

Hola, Jose:

te recomendamos usar temas hijos siempre, al margen de lo que hagas, porque es un buen hábito y mejor cogerlo cuanto antes, aunque si solo usas el editor de "Apariencia → CSS adicional" no es estrictamente necesario.

Respecto a la web: no sabría decirte sin más detalles. ¿El problema es que te da un error 500 o se muestra en blanco sin más?

Dejamos corregido el error tipográfico; ¡gracias por reportarlo!

Un saludo.

Responder
Avatar del autor del comentario

Daniel

25/04/2020 a las 10:11
Excelente explicación te felicito.
Me gustaría consultarte algo y es lo siguiente: teniendo el tema padre y el tema hijo intalado, solo uno se activará y es el tema hijo cierto? Y si el tema padre está activo se desactivara automáticamente una vez se active el tema hijo?
Gracias espero respuesta
Responder
Avatar del autor del comentario

Jose soria

06/10/2018 a las 06:33

Tengo otra pregunta : hay alguna manera de tener un diseño totalmente libre como en html al crear una pagina en wordpress ?
Muchas gracias !!

Responder
Avatar del autor del comentario

Héctor Luaces

08/10/2018 a las 08:10

Hola, Jose:

Siempre puedes crear tu propio tema para hacerlo.

Alternativamente, si necesitas crear una landing en concreto dentro de tu WordPress que sea distinta al resto, puedes crearla como "template" dentro de tu theme y asignarla a la plantilla que quieras. Un template es básicamente un fichero PHP que será ejecutado para esa única página, pero claro, tendrás que poner todo el código necesario para que se muestre el contenido de la página, además de cualquier tarea de personalización que quieras llevar a cabo.

Cualquier cosa nos dices.

¡Un saludo!

Responder
Avatar del autor del comentario

Jose Soria

18/10/2018 a las 02:32

Hola Hector !
Esto no lo he entendido: "crearla como "template" dentro de tu theme y asignarla a la plantilla que quieras"
Como se crea ? Con elementor ? Usando una plantilla de pagina hecha de las que tiene ?
Muchas gracias !

Responder
Avatar del autor del comentario

Héctor Luaces

18/10/2018 a las 09:00

Hola:

dentro de tu tema puedes crear archivos de template. P.ej.: "home.php", "category.php", "archive.php", "test.php", etc.

Esos ficheros, además de usarse para secciones concretas de tu WordPress (p.ej.: "category.php" se usa para la páginas de categorías) te permiten crear templates personalizadas. Si creas un archivo ahí después podrás asignárselo individualmente a cada página eligiéndola en el desplegable "template" dentro de la propia edición de la página.

Si tienes curiosidad, la documentación de la jerarquía de templates está en este enlace.

Cualquier cosa nos dices.

¡Un saludo!

Responder
Avatar del autor del comentario

Jose Soria

18/10/2018 a las 20:20

Muchas gracias ! Lo malo es que no se nada de php. Puedo utilizar una plantilla de las que trae elementor y no tocar codigo ?

Responder
Avatar del autor del comentario

Héctor Luaces

19/10/2018 a las 08:24

Hola, Jose:

me temo que en ese caso, no, no podrías. Esto que comento ya requiere tocar código, claro.

¡Un saludo!

Responder
Avatar del autor del comentario

Pontxo Hierbas

07/09/2020 a las 18:05
Hola, muy buena explicación. Una duda: si creo desde el plugin el tema hijo, si ya he agregado los códigos de google y facebook al header del tema padre, ¿automáticamente se copia todo al tema hijo?
Responder
Avatar del autor del comentario

Jorge Luis Navarrete Prado

25/10/2018 a las 11:20

Hola! Gran post! Tengo una pregunta: Si ya tengo una web construida completamente y deseo crear un child, cuando activo el child obviamente se pierden los cambios hechos previamente ¿Hay que volver a maquetar todo desde cero o hay alguna manera de minimizar el trabajo?

Saludos!

Responder
Avatar del autor del comentario

Héctor Luaces

26/10/2018 a las 17:17

Hola, Jorge:

no debería desmaquetarse nada. Si es así, es porque tu programación tiene alguna ruta absoluta que hace referencia a un archivo que no existe en el tema hijo.

Recuerda copiar todos los archivos que hayas personalizado al hijo, de lo contrario, puede que ésta problemática persista.

¡Un saludo!

Responder
Avatar del autor del comentario

Nairoby Diaz

09/01/2019 a las 16:32

Estoy iniciando una web nueva, para ello me descargue el template: Albar, sólo he colocado una entada y siguiendo tus recomendaciones, antes de seguir construyendo la web quiero hacerlo con un hijo de ese tema.
Utilicé el plugin Child Theme Configurator siguiendo los pasos que mencionas en el post, luego de activarlo, miro el sitio esta completamente en blanco, se perdió todo lo que trae el template por defecto.
Debo hacer algún paso adicional?, copiar otros archivos?

Responder
Avatar del autor del comentario

Héctor Luaces

10/01/2019 a las 10:49

Hola, Nairoby:

algunos temas tienen sus propios requisitos para el tema hijo y por lo general te lo proporcionan los propios desarrolladores. Creo que es el caso de albar. Confirma con los desarrolladores que es el caso, porque de ser así, te facilitarán los datos.

Además, como dices, es posible que haya datos que se guarden a nivel de base de datos y no se transfieran al hijo. En ese caso la opción sería reconfigurarlo de nuevo. Algunos temas tienen la opción de exportar/importar configuración, que no se si es el caso con Albar. Confírmalo con ellos y listo.

Un saludo.

Responder
Avatar del autor del comentario

Daniell Bautista

19/01/2019 a las 23:28

Hola he buscado mucha información pero es que de verdad no doy con la respuesta, estoy editando una plantilla hija de un tema padre, la pagina de portada la tengo como pagina estática es la pagina principal la pagina de inicio, cuando intento modificarla con Elementor me dice que: "-No se encontro el contenido en su pagina / debes llamar la funcion the_content en la plantilla actual para que elementor pueda editarla" dicen que agregando a la page.php pero creo que no funciono no se si la inserte bien

Responder
Avatar del autor del comentario

Héctor Luaces

21/01/2019 a las 13:11

Hola, Daniell:

Verifica que todo esto coincida:

- El nombre fichero que estás editando.
- El nombre del "template" asignado a la página estática que te sirve de portada.

Si sigues con problemas, por favor, indícame el nombre del tema y los dos datos que comentaba ahí arriba.

Un saludo.

Responder
Avatar del autor del comentario

Nuria

30/01/2019 a las 11:45

Buenos dias, estoy intentando crear un tema hijo sobre mi tema padre TWENTYSEVENTEEN pero me he quedado atascada en el paso: "Edita el archivo functions.php que acabas de crear. Añade el siguiente código y sustituye [URL_CSS_PARENT] por la url del archivo CSS del tema padre que quieres insertar"

He creado el archivo "functions.php" pero no consigo encontrar "LA URL DEL ARCHIVO CSS DEL TEMA PADRE"
¿Dónde puedo encontrarlo?

Entiendo que una vez sustituya eso, solo tengo que activar/instalar el tema ¿es correcto?

Entiendo además, que tras esta creación debo saltarme el paso que pone "CREA UN TEMA HIJO CON PLUGIN" porque ya lo habré instalado de la forma anterior y pasar directamente a la activación del tema.

Gracias!

Responder
Avatar del autor del comentario

Héctor Luaces

30/01/2019 a las 12:39

Hola:

sustituye '[URL_CSS_PARENT]' (comillas incluídas) por "get_template_directory_uri() .'/style.css');" (sin las comillas).

Por norma general el archivo "style.css" es el que hay que encolar. Si tu tema tiene otro cámbialo por el que sea.

Con eso el tema estaría listo y bastaría con activarlo; si no lo has instalado previamente, déjalo en la carpeta "wp-content/themes/" con el nombre que quieras.

La parte de "crea un tema hijo con plugin" te la puedes saltar, ya que es el mismo proceso que estás haciendo ahora manualmente, pero con un plugin para ayudarte. Si ves que tras mis indicaciones sigues con problemas quizás puedas probar esta forma de hacerlo, que es más sencilla.

Un saludo.

Responder
Avatar del autor del comentario

Zhanna

02/02/2019 a las 00:01

Hola! Muchas gracias por el artículo y la explicación. Yo también tengo un problema con [URL_CSS_PARENT]. En mi caso he introducido el siguiente código:

"function mis_estilos()
{
wp_enqueue_style( 'child-theme-css', get_template_directory_uri() .'/style.css');
}
add_action( 'wp_enqueue_scripts', 'mis_estilos' );

Al activar el tema, este mismo código (el propio texto) es visible en la web, sale al cargarse tanto la página principal como todas la demás en la parte superior de la misma. De hecho, es lo primero que sale al actualizar la página. También la apariencia de child theme, sale algo cambiada, quizás porque los estilos de parent theme no se han quedado asociados.

He seguido todos los pasos, pero parece ser que algo falla. ¿Me podéis ayudar? El uso de plugin - no es una opción para mi. Muchas gracias de antemano.

Responder
Avatar del autor del comentario

Héctor Luaces

04/02/2019 a las 10:34

Hola:

¿en qué fichero has metido ese código?

Ten en cuenta que es código PHP y por ende:

- Tiene que estar en un archivo .php (p.ej.: "functions.php").
- Ha de estar situado entre la etiqueta de apertura de PHP ("").

Un saludo.

Responder
Avatar del autor del comentario

Francisco Zapata

15/02/2019 a las 04:15

¡Hola Ángela!
Genial este post... Felicitaciones.
Decidí hacer el child usando el plugin; estoy trabajando en local. Ensayo primero todo acá y luego lo subo, y tengo mi sitio en etapa de diseño, así que puedo ensayar muchas cosas.
Me llama la atención que creó una nueva carpeta dentro del directorio Theme y no un subdirectorio dentro de GeneratePress, con el que trabajo.
Me queda la inquietud... ¿Cuando haga alguna actualización del tema padre (que por ahora parece que fuera hermano), habrá algún beneficio para este hijo creado?
Un abrazo desde Venezuela.

Responder
Avatar del autor del comentario

Héctor Luaces

19/02/2019 a las 09:43

Hola, Francisco:

la carpeta del hijo no es una "subcarpeta" dentro del padre, es correcto.

Es así precisamente para que cuando el tema padre se actualice las modificaciones del tema hijo no se pierdan.

Cuando hagas una actualización del padre lo que va a pasar es que el hijo, automáticamente, va a heredar todos los estilos y cambios que incluya este sin perder los tuyos.

No obstante, en función de cuán drásticas sean las diferencias entre las versiones de tu tema padre puede ser necesario que revises tu configuración de tema hijo o no.

Cualquier cosa nos dices.

¡Un saludo!

Responder
Avatar del autor del comentario

Francisco Zapata

19/02/2019 a las 15:48

¡¡¡GRACIAS!!!

Responder
Avatar del autor del comentario

Adri

21/02/2019 a las 12:43

Hola. Gran artículo, como siempre. Tengo unas dudas:

Yo he creado el tema hijo añadiendo el archivo css y el functions, pero ahora quiero añadir Google Tag Manager, para lo que tengo que añadir script en el head y en el body del header. Entonces, ¿cuál es la forma correcta de añadirlo? ¿Debería copiar el archivo header.php al tema hijo, y añadir ahí el tag manager? ¿O puedo añadirlo directamente en el header del tema padre y ya está? O sea, si hay una actualización del padre, ¿se pierde todo lo que hayas tocado (incluido HTML), o solo los estilos?

Y una segunda cuestión: si ya tengo un tema totalmente diseñado, pero padre, y quiero ahora crear el hijo, ¿qué sería lo mejor? ¿Pasar todos los archivos del tema padre al hijo, y empezar a trabajar sobre el hijo?

Gracias, un saludo,

Responder
Avatar del autor del comentario

Héctor Luaces

22/02/2019 a las 09:41

Hola, Adrián:

Puedes añadirlo en el header, como dices, o la funcionalidad de añadir Javascript a la cabeza de la página si tu tema lo permite (suele encontrarse en la sección "Apariencia → Personalizar".

Para añadirlo en el header, cópialo al tema hijo y cámbialo ahí. No es buena idea cambiar nada en el padre precisamente porque lo que se busca con el tema hijo es no hacerlo para evitar que las actualizaciones puedan sobreescribir tus cambios.

Respecto a tu segunda pregunta: el artículo explica cómo crear el tema hijo, no tienes que hacer nada raro. Sigue los pasos y lo crearás tal cual ha de estar. Recuerda, no obstante, que el tema padre ha de estar "impoluto" (sin ningún cambio tuyo) y éstos han de hacerse en el hijo.

Si alguno de tus cambios está en un fichero del padre lo que tienes que hacer es copiarlo al hijo. En el caso de que en el hijo no exista algún archivo, éste será heredado desde el padre.

Si tienes cualquier duda nos dices.

Un saludo.

Responder
Avatar del autor del comentario

DISENO S

16/04/2019 a las 05:20

Hola,
Además de lo que han explicado de lo positivo que es hacer un tema child:
1.-Esto tiene algo que ver con que pueda (o no) activar el google analytics o instalarlo depende del tema que se elija (he leído por ahí que dependiendo de la plantilla puedes hacer unas y otras cosas no.
2. Y aprovehando si puedieras responderme lo siguiente: El wordpress tiene que estar instalado en mi pc? porque yo lo instalé a traves del servicio hosting y accedo a mi web online. Es eso correcto?
Recién he empezado hace una semana con el wordpress y tengo desconocimiento de muchas cosas.
Gracias por lo que enseñan
Saludos

Responder
Avatar del autor del comentario

Ángela

25/04/2019 a las 12:34

Hola DISENO N,
Te respondo a tus dudas:
1. El hecho de crear o no un tema hijo es independiente de que puedas activar e instalar Google Analytics.
2. Si ya tienes un WordPress instalado en tu hosting no tienes que instalar nada en tu ordenador personal.
Un saludo.

Responder
Avatar del autor del comentario

Cristina

17/04/2019 a las 16:57

Muchas gracias por tan completo artículo!!
Yo me he quedado atascada en el paso de editar el archivo functions.php. ¿Dónde puedo encontrar la url del archivo CSS del tema padre por el que debo sustituir [URL_CSS_PARENT]? Mi tema padre es Ashe.
¡Gracias!

Responder
Avatar del autor del comentario

Ángela

25/04/2019 a las 12:25

Hola Cristina.
WordPress almacena todos los temas que tengas instalados en la carpeta: tunombrededominio/wp-content/themes/

Si ahora descargas el archivo .zip con el theme Ashe y lo descomprimes, verás que su archivo style.css está en la carpeta principal del theme. Por lo tanto, si lo tienes instalado ya en tu WordPress la ruta que deberás sustituir en el código es:
tunombrededominio/wp-content/themes/ashe/style.css

Un saludo

Responder
Avatar del autor del comentario

Isa Bel

17/05/2019 a las 11:44

Hola. Gracias por el post.
creo que he seguido todos los pasos, pero algo debo de haber hecho mal, ya que cuando activo mi tema hijo me no me guarda muchisimas configuraciones que había hecho en la plantilla padre... ni el logo, ni el orden del menú, ni fuentes, ni colores, ni visual en las categorías.... en fin, que solo me conserva las fotos que he subido.
¿Cómo arrego esto?
Gracias de antemano

Responder
Avatar del autor del comentario

Ángela

21/05/2019 a las 09:58

Hola Isa,
Con la información que aportas y sin capturas de pantalla no puedo ayudarte. Puedes abrir un ticket a nuestro soporte técnico con toda la información y ellos te ayudarán.
Si no consigues hacerlo a mano, utiliza el plugin del que hablo en el artículo: Child Theme Configurator. Es muy fácil de usar y tendrás tu tema hijo listo en unos pocos clicks.
Gracias por tu comentario.
Un saludo.

Responder
Avatar del autor del comentario

Isa Bel

21/05/2019 a las 10:50

Hola Ángela,
gracias por tu respuesta.
no estaba haciendo nada mal, lo que me pasaba es que al montar un tema hijo sobre un padre ya personalizado, todos los cambios y personalizaciones que había hecho se me reseteaban y tenía que volver a personalizar todo de nuevo.
Finalmente no he hecho un tema hijo, porque tardo menos en cambiar las líneas de código (ya que son pocas) en el tema padre, que volver a personalizar todo en el tema hijo.

De todos modos, gracias por tu interés y muy buen artículo
Saludos

Responder
Avatar del autor del comentario

Fabian Martinez

03/07/2019 a las 04:13

Hola Angela, gracias por el post me fue muy útil para entender los child themes aunque el tema que instalé ya tenía un ZIP con los archivos a incluir en su child.

Soy programador PHP y la consulta que quería hacerte es la siguiente:

Los archivos .php que coloque en mi carpeta child creada y activada y con alguna modificación se van a ejecutar en algún momento? primero se ejecutan los php del padre y luegos los del hijo o al revés?, por ejemplo, si modifico 404.php y footer.php y solo estos 2 archivos los ubico en mi carpeta child, cuando se requiera la ejecucion de esos archivos se van a ejecutar los de mi carpeta child?

Nuevamente gracias por tu post.

PD: Tienes algún desarrollo en videojuegos?

Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 13:17
Hola Fabian,

Cuando se ejecuta tu web, lo primero que se carga son los archivos del child theme. Por lo tanto y siguiendo el ejemplo que comentas, primero se cargaría el archivo 404.php del tema hijo y luego WordPress "rellena" lo que falte (si es necesario) con partes del tema padre. Es decir, cuando salte el error 404 en tu web se ejecutará el 404.php del child theme automáticamente.

En cuanto a lo de "desarrollo en videojuegos" no es una temática que trabajemos en el blog de Raiola.

Gracias por tu comentario.
Responder
Avatar del autor del comentario

Santos Cid

05/10/2019 a las 11:10

Hola, he creado una web y después de leer este articulo he decidido crear el tema hijo, más bien el tema ya viene con la opción de descargárselo. Cuando lo he activado he visto que faltan muchas configuraciones, que tendría que hacer para que quedara igual que el tema padre.

Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:29
Hola Santos,

El tema hijo hereda las funcionalidades del padre. Por lo general (y en base a mi experiencia) cuando lo activas , trabajas con el como "si fuera el tema padre". Tendría que ver que sucede en tu caso.

Gracias por comentar
Responder
Avatar del autor del comentario

Patricia Villasante Sánchez

06/12/2019 a las 11:42

Hola, me dice en el dashboard de Wordpress que no encuentra la hoja de estilo de mi tema hijo. Qué hago o qué paso he debido hacer mal? Gracias

Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:41
Hola Patricia,

Siento decirte que sin ver el código no puedo encontrar el error. En Raiola tenemos un servicio de aplicaciones. Si abres un ticket a este departamento mis compañeros te podrán ayudar. Gracias por comentar.
Responder
Avatar del autor del comentario

Roy Chumacero

13/02/2020 a las 05:00

Si ya realicé todos los cambios, mejor dicho, ya terminé de hacer a web sin hacer un tema hijo, hay alguna de pasar TODOS estos cambios ahí para que en una futura actualización se borren las moficaciones. Por otro lado, estos modificaciones te refieres a cuando son por código? no sabía que,por ejemplo, pasaba lo que describes con el goole analytics. Agradecería tus comentarios, tengo que presentar la web dos semanas. T_T

Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:39
Hola Roy,

Tendría que ver tu código para indicarte que partes deberías pasar al tema hijo, pero básicamente es todo el código que añades a mayores al theme principal. Me explico:
Si tu creas una función nueva para añadir un texto a todos los title de la web en el functions.php del padre, o modificas el aspecto de la cabecera header.php del padre, en el momento que hay un update del theme, esos archivos se sustituyen por los nuevos. Literalmente, desaparecen los viejos y se descargan los nuevos. Por eso es importante crear un tema hijo si tienes intención de hacer modificaciones en un theme.

Siguiendo un poco el ejemplo que te comento:
- Para la función que añade un title: tendrías que cortar y pegar esa función en el functions.php del tema hijo.
- Para la modificación del archivo header.php: Copias el header.php de tu theme principal en el theme secundario.

Espero que te sea de ayuda. Gracias por comentar :)
Responder
Avatar del autor del comentario

Ale jandro

08/03/2020 a las 07:06

Hola, cree un chil para el tema shopical con el plugin recomendado en la nota pero al activar el tema child me da error 503 y no le encuentro la vuelta, alguna idea ??

Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:44
Hola Alejandro,

Tendría que ver porqué te da ese error 503 y sin más información no te puedo contestar correctamente. Si es por causa del plugin y si Shopical no te proporciona un zip con el child theme, entonces te recomiendo que lo hagas a mano siguiendo el tutorial.

Un saludo :)
Responder
Avatar del autor del comentario

juan pablo

30/03/2020 a las 16:42
Hola Angela!
Primero muchas gracias por tu post! Me ha sido de gran ayuda y está super bien explicado :-)
Y en segundo lugar, te hago la misma pregunta que te han hecho por aquí arriba.
Ya tengo creada y publicada mi web pero en su momento no hice tema hijo.
Lo hice todo directamente sobre el tema padre usando Generate Press y Elementor.
¿Se puede hacer el tema hijo a posteriori para que esa web que tengo ya creada no tenga ningún problema en el futuro?
¿Qué pasos tendría que seguir?

GRACIAS!
Responder
Avatar del autor del comentario

Alvaro Fontela

31/03/2020 a las 15:27
Hola Juan Pablo, claro que puedes hacerlo, pero vas a tener que pasar esas modificaciones que has hecho en el theme principal, al tema hijo que crees ahora.
Responder
Avatar del autor del comentario

Ernesto

02/04/2020 a las 13:20
Buenas tardes

Tengo en LOCAL un archivo soluciones.css y está en XAMPP en C:\xampp\htdocs\SolucionesEspeciales\wp-content\recursos\soluciones.css
y lo vengo usando MAL, cargándolo con una instrucción css = @import
ahora quiero llevarlo a la functions.php con la instrucción
wp_enqueue_style('child-theme-css','[/solucionesespeciales/wp-content/recursos/soluciones.css]');},
pero desconozco la sintaxis a usar en el path, pues no logro que se apliquen esos estilos
Me puede ayudar, por favor...

Perdón, vengo del ASP, no tengo experiencia en PHP, estoy aprendiendo

Muy profesional este blog de raiolanetworks.es! y muy buena la info

Gracias
Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 13:10
Hola Ernesto,

Entiendo que tu archivo soluciones.css es donde almacenas todo el css del theme. No sé como tienes distribuido el código y tendría que verlo para darte una solución más acertada. Pero por lo que comentas, si copias el código al style.css del child theme, WordPress trabajaría con el. Seguramente tengas que adaptar algunas rutas entre otras cosas, pero por lo que cuentas, es probable que no necesites encolarlo como me enseñas en tu comentario. De todas maneras, si quieres hacerlo, nuestro artículo sobre: https://raiolanetworks.com/blog/hooks-wordpress/ te va a ser de ayuda.

Gracias por tu comentario.
Responder
Avatar del autor del comentario

cellczs

12/04/2020 a las 20:47
hola, tengo un incoveniente, cuando voy a personalizar el theme en los widgets dice que tengo 5 areas y solo me deja colocar 2, me dice "Tu tema tiene 3 áreas de widget más, pero esta página en concreto no las muestra.

Puedes navegar a otras páginas de tu sitio mientras estás usando el personalizador para ver y modificar los widgets mostrados en esas páginas."
Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 13:21
Hola Cellxzs,

Para poder responderte tendría que ver tu caso personalmente para ver que ocurre. Si sigues teniendo problemas, te recomiendo que abras un ticket a nuestro soporte de aplicaciones para que podáis trabajar en una solución.

Gracias por tu comentario.
Responder
Avatar del autor del comentario

cristian

28/04/2020 a las 13:28
hola, tengo un tema hijo e echo una modificacion en un php y no me sale la modificacion, en cambio lo hago en el padre y ahi si sale lo modificado, e copiado todos los archivos del tema a ver si habia algo que se me habia pasado por copiar y nada
Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:24
Hola Cristian,

Desde aquí, sin poder ver los archivos no puedo localizar el problema. Si no lo solucionas puedes acceder a nuestro servicio de aplicaciones desde ticket. Allí te ayudarán con tu consulta.
Responder
Avatar del autor del comentario

Miller

29/04/2020 a las 03:35
Exáctamente lo que necesitaba. Gracias
Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:22
Me alegro mucho Miller :). Gracias a ti por comentar.
Responder
Avatar del autor del comentario

Manu

08/05/2020 a las 09:49
Hola!! Angela.

¿Como hago en el tema hijo para meter la carpeta "header" del tema padre? A través de cpanel se puede? Ya que ahí es donde meto las etiquetas de afiliados. Gracias.
Responder
Avatar del autor del comentario

Ángela

17/06/2020 a las 12:22
Hola Manu,

El tema hijo hereda las funcionalidades del padre por lo que no necesitarías hacerlo en un principio. Si lo que quieres es añadir contenido al header de tu theme, puedes hacerlo con un hook: wp_head. En nuestro artículo de: https://raiolanetworks.com/blog/hooks-wordpress/ tienes más información.

Si lo que quieres es modificar más cosas del header (el aspecto por ejemplo) de tu theme entonces copia el archivo correspondiente al tema hijo. Normalmente sería: header.php (depende de la plantilla que utilices).

Sobre tu duda acerca de si puedes hacerlo a través de cPanel: sí. Desde el administrador de archivos de tu cPanel. De todas maneras, para añadir código adicional a la cabecera, te recomiendo añadir el hook wp_head() al archivo functions.php de tu child theme.

Gracias por tu comentario Manu :)
Responder
Avatar del autor del comentario

Blas

29/06/2020 a las 21:58
¡Hola Angela!
He creado tema hijo manualmente, sin plugin.
El tema hijo solo hereda los archivos nativos de wordpress como el header, footer, etc. ¿Como hago para modificar archivos en subcarpetas?
Por ejemplo en mi tema en el header con do_action(); llama a una subcarpeta "includes" >>hooks.php
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 14:17
¡Hola Blas!

El tema hijo hereda las funcionalidades que tenga el padre, pero si te estoy entendiendo bien, lo que quieres hacer es trabajar con un archivo que está dentro de una carpeta de este tema padre. Si quieres modificar desde el tema hijo ese archivo concreto mientras pongas la ruta completa no deberías tener ningún problema. Otra opción (y la que yo te recomiendo) es que lo traslades al child theme y trabajes con el desde allí. Si vas a hacer modificaciones en hooks.php es mejor que las mantengas en el tema hijo por las futuras actualizaciones del theme principal.

Gracias por comentar.
Responder
Avatar del autor del comentario

Alexis

29/07/2020 a las 23:08
Tremendo post, clarísima explicación. Súper útil!
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 14:07
¡Hola Alexis!

Me alegro de que guste y te ayude el artículo. Gracias por pararte a dejarnos un comentario.

¡Un saludo! :)
Responder
Avatar del autor del comentario

David Londono

07/08/2020 a las 03:20
Hola, como están?

Cree el tema hijo según sus indicaciones en una sitio que ya tenía desde antes donde utilizo el tema "Hello Elementor. En el tema principal había agregado ciertos códigos como Google Analytics, Klavillo. Además había modificado para que no se mostrara el logo en la parte superior.

Al activar el tema hijo ¿estas modificaciones se pierden? y/o donde debería agregar esta información? pues al editar el tema hijo no logro ver por ejemplo el header.php

Como lo debería hacer?

Muchas gracias por su ayuda.
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 14:05
¡Hola David!

Esas modificaciones que agregaste al tema padre o tema principal las tendrías que trasladar al child theme que creaste. El artículo está orientando para que se haga desde 0 cuando aun no tienes tu web montada. Como este no es tu caso, simplemente trasladas la información del theme padre al tema hijo. Por ejemplo, si en tu functions.php del theme principal tienes un fragmento de código que agrega el código de Analytics lo tienes que trasladar tal cual al archivo de functions.php del child theme. Así cuando actualizas no lo pierdes y debería funcionar igual que cuando ese código estaba en el tema padre.

Un saludo y gracias por comentar :)
Responder
Avatar del autor del comentario

Alex

09/09/2020 a las 23:06
Hola.
Muchas gracias por la explicación.
Al activar el tema hijo me dice que el tema ha sido activado y un link para visitar el sitio pero no aparece como tal y el padre es el que sigue activado.
¿Es así como debe funcionar o la he liado y tengo que hacerlo otra vez?
PD lo hice con el plugin y en el paso ocho active la casilla.
Desde ya muchas gracias.
Responder
Avatar del autor del comentario

Alvaro Fontela

16/09/2020 a las 16:34
Hola Alex, pues no te lo puedo garantizar, pero creo que no te esta funcionando porque le falta algo a la estructura... aunque nunca he visto un caso como el tuyo.
Responder
Avatar del autor del comentario

FrankMad

17/09/2020 a las 12:23
Hola
Tengo un par de dudas esto del tema hijo me está volviendo loco.
Veamos, lo que yo quiero saber es lo siguiente :
Yo compro un tema Pro, que ya trae de por sí un zip tambien con el child theme de dicho tema. Ok
Yo instalo el theme principal , o sea el que será » el padre «. Bien.
– A continuación instalo los plugins que se necesita ( elementor, etc etc , x etc )
Una vez tengo ya todo , y aún no he empezado a crear contenidos, instalo el Tema Hijo. Y lo activo, por lo tanto ya me olvido del tema
oficial, llámese Padre. Ok
Y como lo activo – el hijo – , siempre estoy y voy a estar trabajando con el hijo . Del padre nos olvidamos, no ?
Porque esto es lo que yo quiero saber.
Ahora mi pregunta :
Cuando toca actualizar ( porque toca actualizar y además cada dos por tres ) el tema Oficial , o sea el padre….
¿ Yo no debo hacer absolutamente nada con el tema hijo ?
Me explico: Si al principio el tema padre era la versión 0.1 y por tanto el tema hijo tambien es version del padre 0.1, y ahora actualizo el padre a la 0.2…
¿ que pasa con el hijo ? se queda en 0.1 ?. Tengo que hacer yo algo ? ¿ se actualiza el hijo a la vez que el padre por arte de magia o de modo invisible ?
Me toca copiar códigos del padre y pegarlos en el hijo ? y esto en cada actualización ? o no debo preocuparme de ello ? Lo hace solo ?
Y sobre todo : Si dicen que el tema Padre no sobreescribe archivos en el hijo…entonces al actualizarse el Padre, el hijo se queda obsoleto y por tanto estaremos trabajando con una versión antigua del tema ??? Y si además no debemos actualizar el hijo y tampoco recoge las actualizaciones y novedades del padre … al final estaremos trabajando con una versión super antigua ???
No entiendo

Esto me trae de cabeza y por eso no me atrevo a incluir el tema hijo, pero a la vez me da pánico llegar a perder todo algún dia.

Segunda pregunta :

Supongamos que por catástrofe sea de la naturaleza que sea, se me rompe el tema hijo – que es con el que trabajamos, no ?- ok tengo el padre. ¿ Y ?
El tema padre se supone que está vacío de contenidos ya que todo estaba en el hijo.
Entonces ¿ para qué me sirve realmente el tema hijo ? si se destruye el hijo y el padre está blanquito y vacío de contenido me da igual tener hijo que no .
Es decir, capto que el hjj no hace función de copia de seguridad, sino que sirve para modificar Css y otras cosas como php sin que afecte al padre.
Pero precisamente por eso sigo sin entender la utilidad real del hijo , pues si el padre se mantiene siempre intacto, en caso de destruirse mi web, se destruye el hijo y no el padre, y de nada me sirve tener el padre si está en blanco.
O sea, tendría que construir desde cero otra vez tooooda mi web sobre el padre o sobre un nuevo hijo ? es que no entiendo nada .
Por otro lado, como uso un theme Premium siempre tengo a mi disposición otra copia nueva y original – y por tanto también vacía de contenidos – del tema padre.

En resumen , ¿ qué se debe hacer exactamente una vez instalado el padre y el hijo ? ¿cómo interactúan los dos ? ¿ debemos de hacer algo en plan mantenimiento para que ambos – y no solo el hijo – sepa el contenido que hay ?

Busco estas respuestas en todas partes pero no las encuentro. Solo encuentro los pasos a dar para crear temas hijos, perno no se como funcionan las cosas o qué hay que hacer después de ya tener el tema hijo.

¿ Me pueden ayudar con esto ?

Un saludo y excelente página y post !
Responder
Avatar del autor del comentario

Alvaro Fontela

21/09/2020 a las 19:03
Vamos a empezar por el principio con las preguntas.

- Efectivamente, activas el tema hijo y a partir de ahi actualizas el padre sin problema y todas las modificaciones las haces siempre en el hijo, el tema hijo NUNCA lo actualices o te cargaras tus modificaciones. Un theme hijo hecho como dios manda no tiene NADA que actualizar, solo lo que tu le metas manualmente....es decir, solo tiene tus modificaciones.

- El tema hijo esta hecho para que las modificaciones de codigo que tu hagas en el theme no se borren en las actualizaciones, precisamente porque el theme hijo NO necesita actualizaciones y el padre si. Lo que si es cierto, que las opciones propias del theme se tienen en cuenta como diferentes para el padre y el hijo en la mayoría de las ocasiones.

Te lo voy a resumir, el theme lo actualizas, el hijo no, porque sino perderás el código que metas en los archivos del theme hijo, y todo funcionara, es simple.
Responder
Avatar del autor del comentario

FrankMad

26/09/2020 a las 12:59
Hola, muchas gracias pro responder !

Entiendo.

Pero sigo con esta duda : Yo trabajaré con el tema hijo, haciendo las modificaciones que yo quiera, ok, y el tema padre no lo toco.

La cuestión : El tema padre se actualiza cada dos por tres , tanto minor updates como Major updates.

Si no actualizo el hijo....acabaré trabajando con una versión arcaica ? ¿ o el hijo adquiere las actualizaciones del padre sin que yo haga nada ?

Es decir, cuando actualizo el Padre ( sí o sí ) ... el tema padre se encarga de actualizar al hijo por sí mismo o debo hacer yo algo ?

La duda me surge porque el propio tema que uso, Premium, lo actualizan cada 15 días mas o menos, y en cada descarga me trae tanto padre como el zip hijo con nueva versión.

Por eso necesito saber si el hijo, sin que yo lo actualice manualmente, se actualiza o no él solito, digamos que heredando de forma automatizada las updates que le entren al padre o algo así. ??¿

Gracias y un cordial saludo!
Responder
Avatar del autor del comentario

Alvaro Fontela

28/09/2020 a las 11:48
Es que...como te vuelvo a repetir, el theme hijo NO necesita actualizaciones porque NO tiene código, todas sus funciones las hereda del padre. El hijo todo el código que tiene es el que tu le metas. Un buen theme hijo no tiene versión, es el theme hijo y punto.

¿Puede venir un theme hijo con código? Si claro, pero entonces la culpa es del desarrollador por hacerlo y te recomiendo que huyas de ese theme... el theme hijo es para que tu le metas código, no el desarrollador.
Responder
Avatar del autor del comentario

Alejandro

04/10/2020 a las 01:14
Mucas gracias por la información.
He usado estas instrucciones para crear mi tema CHILD manualmente. El tema padre es uno de los que venían inicialmente con wordpress (CLEAN RETINA).

Uno de los motivos de hacer este CHILD era poder modificar el footer de la web. Para ello veo que este tema usa un fichero llamado footer-extensions.php dentro de una carpeta llamada 'library' que está dentro de la carpeta del tema.
He copiado ese y otros ficheros que tiene que ver con footer en la carpeta del tema hijo respetando la misma estructura. SIn embargo, si modifico el fichero footer-extensions.php del tema hijo no produce ningún cambio. SIn embargo si lo hago en el del tema padre sí.

¿En qué puedo estar fallando?Gracias de antemano
Responder
Avatar del autor del comentario

Alvaro Fontela

05/10/2020 a las 13:09
Hola Alejandro, pues la verdad es que no se decirte, ya que ese fichero es especifico del theme que nos comentas. Vas a tener que contactar con el desarrollador o revisar la documentación del theme.
Responder
Avatar del autor del comentario

ISAAC

08/10/2020 a las 01:26
Hola tengo una pregunta, el tema al activar el child, debe visualizarse exactamente igual?
Responder
Avatar del autor del comentario

Alvaro Fontela

13/10/2020 a las 11:43
No, es posible que algunas funcionalidades se "reseteen" y se pongan por defecto.
Responder
Avatar del autor del comentario

Pilar

30/10/2020 a las 10:59
Buenos días, muchas gracias por las aportaciones. Tengo el tema child que he implementado con plugin. El resultado es magnífico, igual que el tema padre. Ahora mis preguntas, ¿lo que la gente ve cuando entra en mi página web, es el tema hijo? ¿Y yo puedo hacer actualizaciones y "alguna prueba" en el tema padre, por ejemplo añadir un plugin con menú fijo con scroll? ¿La copia de seguridad que tengo activada, guarda el padre y el child?

Gracias por vuestro trabajo de asesoramiento
Responder
Avatar del autor del comentario

Alvaro Fontela

06/11/2020 a las 18:37
Hola Pilar, el tema hijo coge del padre todo lo que necesita, con lo que si tu tocas cosas en el padre, posiblemente se vean en la web, porque el hijo no es totalmente independiente.

En las copias de seguridad, depende como las tengas configuradas, pero normalmente se hace copia de todos los themes y plugins instalados. Pero ya te digo, depende totalmente de como las hagas.
Responder
Avatar del autor del comentario

Pablo

16/11/2020 a las 18:32
Muy interesante!

Entiendo, entonces, que cuando actualizas el tema, no actualizas el tema-hijo, sino el padre, no?

Qué pasa cuando no me da opción de actualizar a pesar de saber que hay una versión nueva?
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 13:34
¡Hola Pablo!

Cuando actualizas un theme, se sobrescriben solo los archivos del tema padre. Si hay una versión nueva, tiene que darte la opción de actualizarlo desde el panel de WordPress. Por lo tanto si no te sale, con la información que me aportas no puedo decirte más. Si quieres puedes contactar a través de nuestro sistema de tickets para que mis compañeros del departamento de WordPress te ayuden con la incidencia.

Gracias por pasarte por el artículo y comentar :)
Responder
Avatar del autor del comentario

mc

06/12/2020 a las 21:42
Hola Ángela! Gracias por tu tutorial! Me ayudó mucho con este tema nuevo para mí.

Quería preguntarte, cuando haces una VISTA PREVIA de tu tema hijo para ver que tal ha quedado (en mi caso Storefront child para Woocommerce) y ver que ha cogido la HOME de la web (en mi caso plantilla Vantage). La home de la tienda ha desaparecido, no es como lo había dejado. ¿Sabrías decirme si hay algo que haya hecho mal en la confg del plugin? ¿algo que no he tenido en cuenta previamente o simplemente es cosa de la plantilla?

Saludos y gracias de nuevo por tus consejos!
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 13:53
¡Hola MC!

Imagino que tu página de inicio o "Home" no es una página nueva que has creado en WordPress, si no que la has configurado desde las opciones propias que te trae la plantilla Vantage. En ese caso, si cambias de plantilla la "Home" desaparece, porque es algo que va en la configuración y opciones que trae Vantage. Si creas tu página de inicio desde el "panel de WordPress > Páginas" no tendrás ese problema al cambiar de theme.

En mi opinión, lo mejor es que algo como la home sea independiente de la plantilla que utilices. Puedes utilizar page builders como Elementor que te pueden ayudar a crear una home igual de bonita y con muchos elementos como los que te ofrecía Vantage.

Gracias por leer el artículo y comentar en el blog :)
Responder
Avatar del autor del comentario

Nicolás Oña

07/12/2020 a las 22:06
Muy bueno me a gustado mucho.. gracias..!!
Responder
Avatar del autor del comentario

Ángela

15/12/2020 a las 13:21
¡Hola Nicolás! Me alegra que te guste. Gracias por dejarnos un comentario :)
Responder
Avatar del autor del comentario

Miguel

19/12/2020 a las 21:03
Hola!

Tengo una consulta al respecto.

Uso Elementor + Astra. He creado un tema hijo pero la hoja styles.css viene vacía (solo contiene un fragmento comentado con datos como theme name, theme url, author, etc.)

He instalado el plugin Starter Templates del propio Astra para trabajar el aspecto de la web, pero la hoja de estilo del tema padre sigue estando vacía. Al inspeccionar el código, veo que las hojas de estilo estan guardadas en directorios como "wp-content/plugins/elementor" o "wp-content/themes/astra/assets/css". No consigo aclararme de por qué esto es así pero, en mi caso, ¿sigue siendo necesario que cree una plantilla child, o con el editor elementor esto carece de sentido?

Espero haberme explicado correctamente.

Muchas gracias de antemano!
Responder
Avatar del autor del comentario

Alvaro Fontela

23/01/2021 a las 22:02
Hola Miguel, la verdad es que no trabajamos normalmente con Astra, nosotros somos de GeneratePress o Hello Elementor para trabajar con Elementor.

Sobre tu pregunta, es recomendable crear el child ya que en muchos casos, si quieres llegar mas allá vas a tener que meter código personalizado y es recomendable hacerlo directamente en el theme (hijo), para evitar consultas a la base de datos innecesarias.
Hay que recordar que todo lo cargado desde Elementor, se carga desde la base de datos.
Responder
Avatar del autor del comentario

Agnès

01/02/2021 a las 14:49
Me instalé el tema hijo con el plugin pero constantemete necesito comprobar si estoy trabajando con el padre o con el hijo pues si hago cambios con el hijo y no los visualizo, voy al padre y allí si estan, o a la inversa.
Me estoy liando un poco con este tema del padre y del hijo ya que me está dando problemas. Me estoy plateando suprimir el hijo para no perder tiempo.

Gracias
Responder
Avatar del autor del comentario

Alvaro Fontela

01/02/2021 a las 16:40
Hola Agnes, si los cambios del theme hijo no se visualizan, es que no lo tienes activo.
Responder
Avatar del autor del comentario

Jose

05/04/2021 a las 03:49
He peleado con Elementor y el child (que no tenia cuando me encargaron los cambios) que no llamaba a la base de la plantilla principal, con el plugin se resolvio todo, genero un nuevo archivo y al fin puedo hacer los cambios. MUCHAS MUCHAS GRACIAS.
Responder
Avatar del autor del comentario

jose manuel sanchez

13/07/2021 a las 10:29
Hola, enhorabuena por tu artículo. Es muy interesante y de gran ayuda. He estado buscando entre los comentarios y no he encontrado una duda que tengo, te cuento... Resulta que yo tengo una web con Divi que creé hace un par de años, y en su día no creé un tema hijo (error lo sé :-(...) el caso es que ahora me está empezando a dar algún que otro problema el Divi Builder y me dice que actualice, claro si actualizo creo que perderé modificaciones que hice en el tema, que ya ni me acuerdo.
Mi pregunta es si puedo hacer ahora un tema hijo (aunque el tema Divi ya esté modificado en estos 2 años) y si posteriormente puedo actualizar DIVI y que no se me vaya nada de lo creado hasta ahora.
Estoy un poco agobiado....
Responder
Avatar del autor del comentario

Omar Díaz

30/07/2021 a las 11:21
Buenas Jose Manuel.
Aún estás a tiempo de solucionarlo. Lo que puedes hacer es instalar ahora el tema hijo, y antes de actualizar, trasladar los cambios realizados en el tema padre a este.
Espero que te haya servido de ayuda ✌
Responder
Avatar del autor del comentario

Ana

21/07/2021 a las 11:01
Hola. Estoy intentando hacer un tema hijo del theme Newses sin plugin, pero da error y dice lo siguiente "La plantilla no está disponible. Los temas necesitan un archivo de plantilla index.php. Los Temas hijo necesitan una cabecera de plantilla en la hoja de estilos style.css.". No veo referencia a esto en el artículo, ¿podrían ayudarme? Gracias
Responder
Avatar del autor del comentario

David Suárez

30/07/2021 a las 11:56
Hola Ana.
Para poder ayudarte necesito un poco mas de información sobre tu problema.
Es probable que estés llamando mal a algún parámetro o no estés enlazando correctamente algún archivo, pero para saberlo con certeza es mejor que pongas aquí el contenido de los archivos 'style.css' y 'functions.php' del tema hijo que estas intentando crear.

Un saludo :)
Responder
Avatar del autor del comentario

jorge alzate

22/07/2021 a las 15:26
hola, he comprado un tema por themeforest.net, este ya viene con el tema padre y el child, ¿debo de instalar los dos temas en …/wp-content/themes, luego solo activar el child y trabajar en el normalmente? o solo instalo el child y el padre no lo instalo? ahora cuando el tema tenga alguna actualización el tema child no se actualiza? gracias
Responder
Avatar del autor del comentario

Omar Díaz

30/07/2021 a las 11:31
Hola Jorge
Tienes que tener los dos temas instalados, ya que el tema hijo depende del padre.
Por otro lado, debes tener activo el tema hijo porque es sobre el que vas a operar. En cuanto a las actualizaciones, estas suelen producirse sobre el tema padre.
Espero que te sirva de ayuda ✌
Responder
Avatar del autor del comentario

Eduardo

01/08/2021 a las 10:09
Hola! Gracias por el post
Tengo una duda, cuando instalamos un tema hijo
¿los plugins donde es mejor instalarlos para que se actualicen?
¡Gracias!
Responder
Avatar del autor del comentario

Omar Díaz

02/08/2021 a las 09:50
Buenas Eduardo.
Los plugins son independientes del tema que tengas instalado en tu WordPress, por lo tanto debes instalarlos como siempre has hecho, en el apartado de plugins de tu escritorio de WordPress.
Un saludo ✌
Responder
Avatar del autor del comentario

Ana

31/08/2021 a las 13:57
Hola,

Voy a hacerlo con una web que ya tengo bastante avanzada, pero ha habido una actualización de Wordpress y es que hay cosas que se han cambiado.

Una pregunta, si haces lo del tema hijo con el plugin, una vez creado e instalado el nuevo tema hijo, ¿puedo borrar el plugin? Quiero decir, algunos puedes usarlos para hacer una cosa, y luego los borras y ya está. Pero no sé si en este caso, al borrar el plugin con el que has creado el tema hijo, afecta al tema hijo y deja de funcionar. Es por lo que comentabas de ahorrar recursos del hosting...

¡Gracias de antemano!
Responder
Avatar del autor del comentario

Omar Díaz

01/09/2021 a las 14:15
¡Buenas Ana!
¿Podrías indicarme cuál es el plugin que has utilizado para poder ayudarte?
Muchas gracias por tu comentario.
Un saludo ✌
Responder
Avatar del autor del comentario

Noemí

03/11/2021 a las 23:12
Genial el post!
Una duda: así, cuando pida actualizar los temas (padre e hijo) solamente recomiendas actualizar el tema padre? Es decir que aunque pida actualizar el tema hijo es mejor no actualizarlo y solo actualizar el padre del que se nutre, ¿verdad? Gracias!
Un saludo! ?
Responder
Avatar del autor del comentario

Alvaro Fontela

14/11/2021 a las 22:57
Hola Noemí, salvo casos muy excepcionales, solo tienes que actualizar el padre, ya que su actualizas el hijo perderás todos los cambios y tendrás que volver a meterlos. Normalmente, si el theme está bien hecho, el hijo no es necesario actualizarlo salvo casos muy aislados.
Responder
Avatar del autor del comentario

Álvaro MA

22/12/2021 a las 12:42
Un post genial y claro. He creado mi tema hijo "a pelo", me pilla sin problemas cambios en el funcitons.php, pero si quiero cambiar un script php que van dentro de una carpeta en el raiz (/inc/laborator_woocommerce.php), no hay manera... se os ocurre alguna idea? puede ser pq las llamadas al script se hacen desde otros php en el tema padre y no coger la ruta del tema hijo?
Muchas gracias, un saludo.
Responder
Avatar del autor del comentario

Alvaro Fontela

31/12/2021 a las 01:54
Hola Alvaro, puede que el theme no venga preparado para que ese archivo pueda pasarse al child theme. Existen unas reglas o buenas practicas a la hora de desarrollar para WP, pero hay muchos desarrolladores que se lo pasan por el...y entonces aparecen ciertas limitaciones.
Responder
Avatar del autor del comentario

Laura Moreno Ropero

07/04/2022 a las 10:35
Hola, acabo de comprar un tema que ya viene con el tema hijo. Mi pregunta es ¿activo y publico en el tema hijo? o en el otro?

Gracias
Responder
Avatar del autor del comentario

David Suárez

22/06/2022 a las 15:39
Hola Laura!

El tema que deberías tener activo es el tema hijo, ya que es sobre el que vas a trabajar.

Un saludo y gracias por comentar ?
Responder
Avatar del autor del comentario

Silvia

12/04/2022 a las 10:41
Hola Alvaro, me gustaria saber porque un tema hijo que hice con el plugin Child Theme Configurator, ahora no puedo ver todo el código del fichero functions,php al cual le añadi unas lineas para ampliar el numero de etiquetas. Sigue funcionando pero si quisiera ampliar a más no me aparece?

El functions.php del padre aparece completo, pero el del hijo sale un código muy cortito, la verdad no lo entiendo. He descargado por ftp el archivo del teme hijo y es el mismo cortito, no es ni mucho menos como el del padre. Me acuerdo perfectamente que hice esas modificaciones hace unos 2 años y ahora no se que pasa.

Muy agradecida y gracias
Responder
Avatar del autor del comentario

Teresa

03/11/2022 a las 18:43
Hola! Muy buena explicación del tema. Tengo dudas sobre los temas hijos. Es que necesito entender lo que es un child theme o tema hijo vs una starter template o plantilla de un TEMA. Porque entendiendo que cada tema tiene diferentes plantillas, es decir, si yo instalo Astra como TEMA y escojo como plantilla de este tema, por ejemplo, Love Nature, y sobre esta plantilla directamente cargo mis textos e imágenes, pero elimino algunas secciones para las cuales no tengo contenido, y más áun, cambio el color de las fuentes, por alguna paleta de colores de las que ofrece el tema o algún color que yo quiera, además cambio en alguna sección el tamaño de la imagen, o el tamaño de la fuente del título. En este caso, estoy modificando el TEMA (e.j. Astra) o la plantilla del tema (e.j. love nature)? Cuando actualice el TEMA tendré problemas? O cuando actualice el plugin "plantillas de inicio" tendré problemas? Cuándo se debe escoger la plantilla del tema, en este caso del ejemplo, Love Nature, antes o después de crear el tema hijo? En otras palabras, un child theme o tema hijo se debe crear para realizar cambios solo códigos o programación de funcionamiento de la página? No tiene nada que ver con detalles de apariencia como los he mencionado? Ah! otra pregunta, toda la info que consigo sobre child theme tiene por lo menos 2 años, es que hay algo más nuevo para esto o sigue en vigencia hacer child theme?
Responder
Avatar del autor del comentario

Alvaro Fontela

10/11/2022 a las 14:10
Hola Teresa, te acabo de enviar un correo con un video sobre el tema que espero que conteste a tus dudas.
Responder
Avatar del autor del comentario

Javier Rey García

13/11/2022 a las 21:35
Hace algunos meses instalé el Tema Extra de Elegant Themes. Como soy nuevo en el mundo Wordpress, al principio fui con pies de plomo y estuve visualizando un montón de tutoriales para informarme y no meter la pata a las primeras de cambio. Posteriormente instalé un Extra Child, y hasta hace unos días, todo perfecto pero a la hora de optimizar el Wordpress a nivel de Page Speed, SEO, Google Search y Microsoft Clarity se me fastidió el Constructor visual de Extra, el famoso Visual Builder de Divi. El caso es que el constructor visual no funciona si utilizo el Extra Child y, el caso tambien, es que, después de comprobar a conciencia todos los plugins que utilizo (35) el tema padre Extra funciona bien pero como se imaginará, pierde toda la personalización que había realizado en el Extra Child. La pregunta sería: ¿Puedo eliminar el Extra Child actual y crear uno nuevo con el plugin Child Theme Configurator? ¿No se quedarán por allí archivos colgados? ¿Ahora que no se estropea mucho crees que es la mejor solución? ¿Sería prudente volver a intentarlo con Child Theme Configurator sabiendo que algo ha salido mal (He revisado los códigos de personalización uno por uno y parece que están bien)?
Te agradecería algún comentario de ayuda.
Recibe cordiales saludos.
Javier
Responder
Avatar del autor del comentario

Alvaro Fontela

24/11/2022 a las 17:05
Hola Javier, siento no poder contestarte a todo eso, pero todo lo que preguntas es un tema para tratar en una consultoría, no en un comentario de un blog. Lo siento.
Responder
Avatar del autor del comentario

Julio Maggi

21/06/2023 a las 16:01
Buenas, gracias por la explicación. Cumpli con el tutorial en forma literal para editar el Functions.php de mi carpeta generatepress-child. Pero al activar el Child Thema me aparece el sitio con esta linea antes del header: "Function mis_estilos() { wp_enqueue_style( 'child-theme-css', 'inverseg.wiki/wp-content/themes/generatepress/assets/css' ); } add_action( 'wp_enqueue_scripts', 'mis_estilos' );" y se mantiene en todas las paginas del sitio.
Responder
Avatar del autor del comentario

Claudia Rodríguez

27/10/2024 a las 16:14
Excelente post
Responder
Avatar del autor del comentario

Álvaro Fontela

30/10/2024 a las 12:33
Gracias por el comentario!
Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *