• Saltar a la navegación principal
  • Saltar al contenido principal
  • Servicios
  • Marco de Pensamiento

¿Qué es un Child Theme para WordPress? o Plantillas Hijas

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.

Nacido de un huevo

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

  1. 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).
  2. Dentro de la carpeta, creamos un fichero de texto plano denominado style.css.
  3. 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”.
  4. 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.

No te voy a regalar NADA

Que tienes el armario lleno y algún resto arqueológico.
Si de todas formas decides apuntarte te contaré como me busco la vida en internet.
Y alguna idea podría NO cambiarte la vida.

Interacciones con los lectores

Comentarios

  1. Alejandro Loza dice

    10 de febrero de 2014 a las 18:11

    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?

    Responder
    • Luis Miguel Delgado dice

      21 de marzo de 2014 a las 12:05

      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.

      Responder
      • Alejandro Loza dice

        24 de marzo de 2014 a las 11:14

        Ok, muchas gracias por la respuesta Miguel, hasta pronto!! 🙂

        Responder
  2. Juanma dice

    29 de marzo de 2014 a las 13:18

    Muchas gracias por el tutorial, muy bien explicado!

    Responder
  3. Proyect Antioquía dice

    5 de agosto de 2014 a las 20:42

    Saludos. Un child them es lo mismo que una plantilla. Si no es así. Cuáñ es la diferencia

    Responder
    • Luis Miguel Delgado dice

      21 de agosto de 2014 a las 11:47

      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.

      Responder
    • Luis Miguel Delgado dice

      26 de agosto de 2014 a las 20:38

      Espero haberlo respondido en el artículo.

      Responder
  4. Andres dice

    20 de agosto de 2014 a las 12:46

    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?

    Responder
    • Luis Miguel Delgado dice

      21 de agosto de 2014 a las 11:48

      No estoy seguro, pero lo mejor sería hacer una copia de este child theme y hacer las modificaciones en este.

      Responder
    • Luis Miguel Delgado dice

      26 de agosto de 2014 a las 21:31

      Lo mejor sería hacer una copia y hacer las modificaciones ahí.

      Responder
  5. dani dice

    10 de octubre de 2014 a las 11:38

    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

    Responder
    • Luis Miguel Delgado dice

      19 de octubre de 2014 a las 22:47

      Correcto, el tema hijo hereda todas las mejoras de la actualización.

      Responder
  6. josel504 dice

    8 de abril de 2015 a las 21:18

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

    Responder
    • Luis Miguel Delgado dice

      10 de abril de 2015 a las 00:45

      Me alegro de que te sea útil. Espero verte por aquí, un saludo.

      Responder
  7. DonWeb dice

    6 de mayo de 2015 a las 14:25

    Hay una cosa que no me quedo clara, tu dices en «Ventajas de 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

    Responder
    • Luis Miguel Delgado dice

      12 de mayo de 2015 a las 12:01

      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.

      Responder
  8. DonWeb dice

    6 de mayo de 2015 a las 14:27

    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?

    Responder
  9. Maria dice

    20 de mayo de 2015 a las 16:11

    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!

    Responder
  10. Tecnux dice

    18 de septiembre de 2015 a las 22:08

    No sabia que se podia hacer eso con wordpress, me a gustado mucho, es muy bueno para quien tiene muchos dominios.

    Responder
    • Luis Miguel Delgado dice

      20 de septiembre de 2015 a las 19:50

      Gracias por tu comentario me alegro de que te gustase.

      Responder
  11. JuanPa dice

    6 de octubre de 2015 a las 20:24

    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!

    Responder
    • Luis Miguel Delgado dice

      15 de octubre de 2015 a las 20:05

      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.

      Responder
  12. Karem Martinez dice

    6 de agosto de 2017 a las 20:00

    Hola, Que pasa cuando quiero cambiar de tema? se pierde todo? como funciona el child theme en ese caso?

    Responder

Deja una respuesta Cancelar la respuesta

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

hola after

Copyright © 2023 · Tu Negocio En La Nube - Ideas que podrían hacerte pensar · Acceder

We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR