Crear un tema hijo de WordPress
Si en WordPress utilizas HTML y CSS para modificar los archivos del tema, cambiar el aspecto de tu web y hacerla única ya te puedes ir olvidando de las actualizaciones a no ser que crees un tema hijo…
La idea es bien simple, vamos a crear un tema nuevo pero vacio que heredará del tema padre y podrás añadir modificaciones sin tocar los archivos originales, sin prescindir de las actualizaciones y al mismo tiempo pudiendo personalizar cada detalle de tu tema usando HTML, CSS o incluso PHP.
Los pasos para crear un tema hijo en WordPress son los siguientes:
- Crear una carpeta con cualquier nombre para el tema hijo dentro de wp-content/themes
- Dentro de la carpeta anterior crear un archivo de texto plano llamado style.css
- Incluir en el archivo style.css recién creado el código siguiente (cambiando los «aquí va…» y también la carpeta del import por la del tema padre):
Theme Name: aquí va el nombre del nuevo tema
Description: aquí va la descripción del nuevo tema
Author: aquí va el nombre del autor del nuevo tema
Author URI: aquí va la web o blog del autor
Version: aquí va la versión del nuevo tema
Tags: aquí van las etiquetas del nuevo tema hijo, puedes copiar las del tema padre
Template: aquí va el nombre literal de la carpeta del tema padre, igual que también va a continuación en la línea del import
*/@import url(‘../padre/style.css’);/* Aquí puedes añadir el código CSS que quieras añadir a tu tema hijo */
Una vez hecho esto vas al panel de control y activas el nuevo tema, ya tienes lo básico, a continuación puedes hacer alguna de las siguientes cosas para modificar tu tema (siempre a través del tema hijo y sin cambiar el código original del tema padre):
- Añadir CSS en el archivo style.css de tu tema hijo recién creado.
- Copiar cualquier archivo PHP desde la carpeta del tema padre a la carpeta del tema hijo y modificar el HTML del archivo nuevo.
- Copiar el archivo functions.php desde la carpeta del tema padre a la carpeta del tema hijo y añadir funciones PHP nuevas que puedes usar desde cualquier plantilla nueva.
OJO: He estado haciendo pruebas con un tema padre que a su vez es hijo de otro tema y al final he conseguido que el sistema funcione indicando como padre al primer padre, es decir el abuelo.
Las reglas básicas de los temas hijo de WordPress son las siguientes:
- El archivo hijo style.css no llama al archivo style.css padre así que debemos importarlo como se indica arriba.
- Cada archivo php del tema hijo sustituye al mismo archivo php del tema padre.
- WordPress llama tanto al archivo functions.php del padre como al del hijo, así que salvo que el padre haya declarado las funciones comprobando su existencia no podrás crear funciones con el mismo nombre en el hijo.
Si te ha gustado lo que has leído pero te has quedado corto puedes informarte más y mejor con la documentación oficial de WordPress en Español aquí: https://codex.wordpress.org/es:Main_Page y también puedes seguir leyendo este blog ya que yo seguiré publicando tutoriales como este basados en mi propia experiencia donde te invito a usar la zona de comentarios para contarnos tus dudas, inquietudes y experiencias al respecto de cada entrada.
ipaelo
20/07/2011 at 12:35 pm
Al final te va a gustar WP mas que Drupal. 🙂
Andy García
20/07/2011 at 10:14 pm
WordPress lo conozco y controlo de mucho antes que Drupal.
La versatilidad de Drupal no se consigue con WordPress aunque la mayoría de los ‘super’ proyectos que me están ofreciendo desarrollar se pueden hacer con ambos y con WordPress le complico menos la vida al cliente ya que es más sencillo.
ipaelo
20/07/2011 at 10:44 pm
A mi la administración de Drupal me parece un caos.
Para mi la sencillez hacia el cliente y la facilidad a la implantación hace que sea mi favorito.
Tambien quiero decir que conozco mucho menos Drupal que WordPress.
demcorp
21/07/2011 at 8:17 am
Yo conozco más Drupal que WordPress. Lo cierto es que Drupal es, a priori, más complicado de administrar que WP, pero también permite hacer más cosas. Si el proyecto es pequeño y te apañas con WP, sin duda es más cómodo. Para cosas mas gordas, Drupal es tu aliado 😉
Andy García
21/07/2011 at 9:11 am
Ipaelo, Drupal es a priori más complejo pero si te lo trabajas y te acostumbras a su versatilidad luego te encuentras incómodo con otro CMS más básico como WordPress (salvo en proyectos con poca complejidad aunque claro que esto es discutible).
Así es demcorp estamos deacuerdo.
Luis
30/09/2011 at 9:23 pm
Que interesante sabes que me gusta mucho wordpress estoy iniciando un proyecto de una red social turistica…
gracias…
Andy Garcia
28/10/2011 at 6:17 pm
Aviso que la línea «Template: nombre del tema padre» es sensible a mayusculas y minusculas así que si tu tema padre se llama tacirupeca (todo minúsculas) deberas escribirlo tal cual y no Tacirupeca.
Claudio
05/06/2012 at 8:25 pm
Andy, muy buena información la de este articulo, me ha servido mucho y he comenzado a trabajar con temas hijos pero tengo un problema con la regla básica nro 3, pues necesito modificar una función donde el archivo funtions.php del tema padre no fue construido por mi ¿sabes como editar este tipo de funciones sin intervenir la declaración original del tema padre?
Gastón
06/09/2012 at 2:07 pm
Andy muchas gracias por tu explicación. He logrado hacer un tema hijo y funciona de 10!
Dejo algunas preguntas… para no perder la costumbre 😉
Se puede poner de hijo cualquier archivo.php de la carpeta padre?
Te mando un tremendo abrazo!
Sofía
14/09/2012 at 12:24 pm
Hola!
Te quería hacer una pregunta y es que una vez creada la hoja de estilo en el Child en WordPress ¿ en qué HTML referencio los ID, class, etc. que he usado en la CSS que he creado? Todos los documentos que tengo son PHP y no HTML.
Espero tu respuesta y muchas gracias,
Sofía
Jaro Tacirupeca
13/04/2013 at 10:58 pm
En los PHP
Miguel
21/03/2013 at 5:26 pm
Hola,
he creado el tema hijo y funciona perfectamente. Mi duda es que ahora tengo que modificar una linea en style.css Escribo en el style.css del tema hijo la modificacion, y el resto lo importa directamente del padre, o como debo hacer?
Gracias, 🙂
CRISTOBAL DIAZ ACEVEDO
14/09/2013 at 12:38 pm
Buena explicación Andy. Un buen post sería explicar incidencias, problemas o diferencias entre cambiar el nombre de la plantillas dentro del archivo style.css y cambiar el nombre a la carpeta del tema dentro de la carpeta temas.
Carles
20/01/2014 at 3:39 pm
Muy buen artículo. La verdad es que me ha funcionado muy bien.
Pero tengo un problema. El style «padre» tiene una línea que quiero modificar.
Así, que copio la misma linea en el style «hijo» pero con el cambio que quiero (el color de fondo del menú).
El problema viene porque NO hace el cambio. Sólo si borro la línea del padre.
¿Cómo podría hacerlo?
Gracias
María José
01/06/2014 at 10:17 pm
Prueba a poner !important en tu tema hijo, debería funcionar.
Ejemplo:
background-color: blue !important;
javier quintero
12/02/2014 at 6:12 pm
Hola ,y si quiero copiar todas las caracteristicas del padre,que hago? copio los archivos tal cual al tema hijo?
graciasss
Cristian
08/04/2014 at 4:43 pm
Hola.
Aqui les dejo un muy buen videotutorial para crear plantillas WordPress desde cero sin tener que programar en PHP.
Videotutorial:
http://creatutemadewordpress.com
Espero les ayude.
Saludos!
Sergio
27/09/2015 at 9:52 am
Esta es una Herramienta util para los desarrolladores, permite clonar cualquier Tema de WordPress que desees, solo tienes que seguir las instrucciones del video
http://j.mp/clonefastwp
Virginia
02/10/2015 at 2:25 am
¿Alguien me puede ayudar con el tema Marketify de Wordprees??
Me sería de gran ayuda ya que no encuentro mucha información sobre este tema en concreto.
Muchas gracias.
Un saludo.