Ya estamos con las palabras raras, pero por muy raro que suene Child Theme, es conveniente que sepamos que significa por si en alguna ocasión lo escuchamos o necesitamos utilizarlo.
Este tipo de conceptos son básicos a la hora de trabajar con WordPress, y así podremos tomar decisiones más acertadas en el proceso de crear nuestro negocio online.
En este artículo vamos a analizar una Plantilla Hija para WordPress y como podemos sacarle la mayor ventaja posible.
¿Qué es un Tema de WordPress?
Un tema de WordPress hace que tengamos una visualización de nuestra web de una manera concreta, con los colores que hemos elegido, la disposición que hemos decidido, … es decir toda la parte visual que muestra el navegador.
Cualquier tema de WordPress se compone de una capa de archivos, y cada uno de ellos controla una parte específica del tema. Unas partes de la web permanecen estáticas, sin importar lo que tenga que ver con el header, el sidebar o el footer. Cualquiera con el tema que haya elegido puede coger esos archivos y modificarlos a su gusto, y la plantilla los detectará y seguirá relacionándolos entre si para generar la nueva visualización que hayamos creado. Así podremos cambiar los diferentes tipos de navegación, post o cualquier tipo de información de tu página.
Los archivos que componen normalmente una Plantilla de WordPress son:
- header.php: aquí se define la cabecera de la página.
- footer.php: aquí se define el pie de página.
- sidebar.php: aquí se definen las diferentes barras laterales.
- index.php: este es el fichero que carga de inicio el site.
- single.php: este fichero se carga con un post concreto.
- page.php, controla las páginas que aparecen en el sitio web
- archive.php: igual que single.php pero para las páginas de categorías y etiquetas.
- category.php: plantilla para las categorías.
- tag.php, plantilla para los tags.
- comments.php: plantilla de los comentarios.
- searchform.php: formulario de búsqueda.
- search.php: página donde se muestran los resultados de una búsqueda.
- functions.php: aquí se recogerán funciones propias del theme.
- style.css: fichero con los estilos.
- 404.php: si creamos este fichero, cada vez que algo no se encuentre en el blog, se cargará esta página.
¿Qué es un Child Theme?
Básicamente un Child Theme o Plantilla hija, como su propio nombre indica es una plantilla que adquiere o hereda las características de la plantilla en la que se basa. Hay que decir que la plantilla «Madre» tiene que estar instalada para poder utilizar todas las características de esta. Lo que ocurre con este sistema es que la Plantilla hija aprovecha la estructura completa de Parent Themes, o plantillas madre, utilizando todas sus características y con la Plantilla hija vamos introduciendo modificaciones.
Con este sistema podemos hacer modificaciones personales del theme «madre», sin que nos afecten sus actualizaciones. Podemos hacer cambios de estilo, añadir funciones en el fichero functions.php, … sin que tengamos que preocuparnos si actualizamos la plantilla o no. Es una manera sencilla de desligar un theme en funciones y estilos, teniéndolos cada uno por separado.
Crear un child theme
Para crear un Child Theme tenemos que seguir los siguientes pasos:
- Crear una carpeta con un nombre que decidamos en la ruta wp-content/themes, por ejemplo: child_plantilla (estará basada en la plantilla Twenty Twelve).
- Dentro de la carpeta, creamos un fichero de texto plano denominado style.css.
- Editar el fichero style.css y añadir el siguiente código.
/* Theme Name: Child Plantilla Theme URI: URL que va a tener el theme Description: lo describes como quieras Author: Luis Miguel Delgado Author URI: tunegocioenlanube.net Template: twentytwelve Version: 0.1 . Licencia, texto, lo que sea que quieras puedes escribirlo aquí ... */ @import url("../twentytwelve/style.css");
Ten en cuenta que después de Template y en @import van, respectivamente, el nombre literal de la plantilla que sea madre que vamos a usar y la hoja de estilo de la misma plantilla madre.
Si esto no lo pones correctamente en el campo Template, cuando vayamos a activar el tema, este no aparecerá mostrándonos el siguiente error:Temas dañados Los siguientes temas están instalados pero incompletos. Los temas deben tener una hoja de estilos y una plantilla. Nombre: Child Twenty Twelve Descripción:No encontramos el tema principal. Por favor, instala el tema principal “twentytwelve”.
- Vamos al panel de control de nuestro WordPress y en Apariencia > Temas, activamos el nuevo tema.
Al final lo que haces es igual que instalar cualquier otro Theme, ya que subes a ‘/wp-content/themes/’ tanto el Theme como el Child Theme, pero solo activas el Child Theme.
Ventajas de un child theme
Una de las grandes ventajas de utilizar un Child Theme es que puedes hacer modificaciones y hacer cambios en las hojas de estilo o añadir contenido específico mediante plantillas de página que la Plantilla Madre no tenga. Solo cuando empiezan a ser necesarias modificaciones estructurales de un tema, no te recomiendo para nada que utilices un Child Theme.
Por eso la principal ventaja de un Child Theme es que podemos actualizar sin miedo la Plantilla Madre sin miedo a perder los cambios que hayamos realizado. Otra ventaja de los Child Themes es que podemos administrar un WordPress Multisite y podemos permitir que cada sitio de la red pueda modificar su plantilla sin multiplicar el mantenimiento.
Consideraciones y cambios que podemos hacer
Una vez que tenemos creado el Child Theme podemos añadir código CSS al fichero style.css que acabamos de crear, teniendo en cuenta que este fichero hijo anula al fichero style.css, por lo que la importación en el archivo del Child Theme será necesario.
Podemos copiar cualquier fichero PHP de la Plantilla Madre y modificarlo a nuestro antojo, teniendo también en cuenta que el archivo del mismo nombre sustituye al archivo PHP de la Plantilla Madre.
Podemos crear un fichero funtions.php hijo y añadir las funcionalidades que queramos, pero este fichero no anula el de la Plantilla Madre y además se cargan esas funciones.
¿Has oído alguna vez hablar de los Child Themes? ¿Te parecen útiles? Cuéntalo en los comentarios y hablamos.
Hola
He creado dos temas hijo para los temas «Iconic One» y «Basically». Pero al activarlos la página pierde todos los widgets, la cabecera…..etc. Parece que estuviera medio «rota»
Sabes que puede ser?
Buenas Alejandro, al crear un tema hijo digamos que creas como un clon, y en este tema hijo los widgets, la cabecera tienen que estar configurados, es decir tienes que volver a ponerlos.
Ok, muchas gracias por la respuesta Miguel, hasta pronto!! 🙂
Muchas gracias por el tutorial, muy bien explicado!
Saludos. Un child them es lo mismo que una plantilla. Si no es así. Cuáñ es la diferencia
Digamos que es como una plantilla mini, puede tener la misma estructura que una plantilla y es considerada una plantilla a los efectos de WordPress, pero sin la plantilla Padre no funciona.
Espero haberlo respondido en el artículo.
Se puede crear un child theme de un child theme? es decir si tengo una child theme the cherryframework, y quiero hacer cambios sobre este, puedo apuntar al childtheme que tengo al crear mi propio childtheme, y seguira cogiendo el cherryframework?
No estoy seguro, pero lo mejor sería hacer una copia de este child theme y hacer las modificaciones en este.
Lo mejor sería hacer una copia y hacer las modificaciones ahí.
Hola. cuando se actualiza el tema padre, entiendo que el tema hijo hereda las mejoras de la actualización? o hay que crear un nuevo tema hijo?
Gracias
Correcto, el tema hijo hereda todas las mejoras de la actualización.
muchas gracias Luis tenia esa duda, ahora que estoy cambiando mi theme me aparecia un Child y no sabia que hacer con el jaja pero bueno gracias por el tuto saludos….
Me alegro de que te sea útil. Espero verte por aquí, un saludo.
Hay una cosa que no me quedo clara, tu dices en «Ventajas de un Child Theme»:
Al final tienes que tener en cuenta que cuanto más modifiques del Child Theme, menos cosas usará del Parent Theme y más se parecerá a una plantilla normal. Tendrás que valorar hasta que punto te interesa una plantilla normal o tener un Child Theme.
Hay una cosa que no me quedo clara, tu dices en “Ventajas de un Child Theme”:
«Solo cuando empiezan a ser necesarias modificaciones estructurales de un tema, no te recomiendo para nada que utilices un Child Theme.». Te refieres a que si voy a modificar la estructura no utilice un child theme o al revés.
Porque quiero quitar algunas cosas de la plantilla como el apartado de Testimonial y una galeria que sale en el index. Debo hacerlo con el child theme?
Luis Miguel, acabo de resolver el misterio de por qué me sale tu blog cuando busco sitios en los que se habla de DonWeb, es a causa de un usuario que tiene ese nombre, no sé que relación tendrá con ese hosting fatídico que me envia emails no deseados cada día , solo quería que supieras que fue eso lo que pasó.
Por cierto, aprovecho para decir que el hosting DonWeb (antiguo dattatec) es un horror de empresa de hospedaje, usan tus datos para enviar spam, no respetan los dia sde prueba ni la garantía de devolución. Dinero que les des, no lo volverás a ver. Y encima dan un pésimo servicio de (des)atención al cliente. Un horror!
No sabia que se podia hacer eso con wordpress, me a gustado mucho, es muy bueno para quien tiene muchos dominios.
Gracias por tu comentario me alegro de que te gustase.
Hola Luismi,
Por lo que explicas y si he entendido bien un Child Theme es una solución parecida a la que te puede aportar un plugin tipo Custom CSS o la funcionalidad para cambiar el CSS de Jet Pack, ¿no? Y si es así, ¿qué ventaja tendría elegir un Child Theme frente a sobreecribir el CSS a través de un plugin para que no afecten las actualizaciones de plantilla? Gracias!
Es muy similar, con la diferencia que con un child theme puedes modificar código php de la plantilla sin que las actualizaciones de esta te afecten. Con el CSS tendrías que tener cuidado de las actualizaciones de la plantilla. Saludos.
Hola, Que pasa cuando quiero cambiar de tema? se pierde todo? como funciona el child theme en ese caso?