Como personalizar tu WordPress con un Child Theme

Diogenes Mata

Horas y horas modificando tu tema en WordPress: ajustando el CSS, buscando esa tipografía perfecta, seleccionando el color adecuado que armonice con tu sitio web; de repente un día, aplicando actualizaciones, ¡Lo perdiste todo 😯 !.

Si esta historia te parece conocida y no quieres que se repita de nuevo, sigue leyendo, ya que te enseñaré como crear un child theme, para que puedas actualizar tu tema WordPress y no pierdas ninguno de tus cambios.

La solución: Child Theme

Los cambios estéticos de WordPress se realizan al tema que tengamos activo: archivos CSS o PHP, según sea el caso. El problema surge cuando actualizamos el mismo, ya que toda la personalización que tengamos se pierde.

Esto ocurre porque los archivos antigüos son sobrescritos por los nuevos y adiós a todas las modificaciones 😕 . Para solventar esto, WordPress implemento el uso de Child themes o temas hijo.

El Child theme se crea a partir de un tema padre; este sobrescribe en WordPress la información que necesitemos cambiar, manteniendo intacto lo demás.

De esta forma, el tema padre puede ser actualizado sin miedo a que se pierda la personalización que realizamos, al estar contenida en el child theme.

Con la implementación del CSS adicional en el personalizador de temas de WordPress, permitiendo hacer los cambios en vivo, muchos han anticipado la muerte de los temas hijo.

En mi opinión, nada sustituye la portabilidad (copiar y pegar de un sitio a otro, sin más) de un tema hijo, por lo que dejaría el CSS snippet de WordPress para modificaciones puntuales. Para cambios profundos en un tema, los child theme siguen siendo los reyes.

¿Actualizar o no actualizar mi tema?

actualizar un tema wordpress child theme

Muchos optan por no actualizar los temas para evitar perder la personalización, ya sea por desconocer el uso de los temas hijos o por la imposibilidad de aplicar los cambios que desean, generalmente a los archivos PHP.

No te recomiendo esta práctica. Las actualizaciones son parte fundamental del mantenimiento de un sitio web, no hacerlo puede exponerte a hackeos.

Si tienes problemas con la implementación de un child theme y tienes que hacerlo sobre el tema original, la herramienta WinMerge es tu salvación. Este programa sirve para comparar y modificar archivos “aparentemente” iguales.

Con él,  puedes bajar primero la actualización, observar los cambios realizados en las líneas de código, e implementar los cambios del antiguo tema manualmente.

Es un tanto tedioso al principio, pero una vez le agarres la medida 😎 , en menos de 10 minutos lo tendrás listo y actualizado.

Creando un Child theme en WordPress

Existen dos maneras de crear un child theme: manualmente y mediante un plugin. Te explico las dos formas, tuya es la elección.

El camino de los valientes

Para crearlo de manera manual, es necesario que ubiques la carpeta de temas de WordPress: wp-content/themes.

Dentro están contenidos todos los temas que tengas en WordPress. Por defecto trae los temas Twenty. Para nuestro ejemplo crearemos un tema hijo para: Twenty Fifteen.

Es necesario que crees una carpeta que comience con el nombre de la carpeta del tema, seguido de: -child.

La carpeta de Twenty Fifteen se denomina twentyfifteen, la carpeta de tema hijo quedaría: twentyfifteen-child. Así de simple 😀 .

Dentro de esta carpeta crearemos dos archivos: style.css y functions.php. El primero contendrá todas las modificaciones al CSS que queramos realizar, y el segundo cargará el código PHP que agreguemos.

Para ello puedes servirte del Bloc de notas o del programa Notepad++. Este último te lo recomiendo, ademas es gratis.

En el archivo style.css, agrega este código:

/*
 Theme Name:  Twenty Fifteen Child
 Theme URI:   http://dominiodeltema.com/
 Description: Twenty Fifteen Child Theme
 Author:      Nombre del creador
 Author URI:  http://dominiodelautor.com
 Template:    twentyfifteen
 Version:     numero de version
 License:     GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags:        light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain: twenty-fifteen-child
*/

Sustituye, los valores por los de tu tema, especialmente en  Theme Name y Template, al ser los más importantes. Los demás lo pudieras obviar si quisieres.

Dentro de functions.php, coloca este código:

<?php
if ( !defined( 'ABSPATH' ) ) exit;

if ( !function_exists( 'chld_thm_cfg_parent_css' ) ):
 function chld_thm_cfg_parent_css() {
 wp_enqueue_style( 'chld_thm_cfg_parent', trailingslashit( get_template_directory_uri() ) . 'style.css', array( ) );
 }
endif;
add_action( 'wp_enqueue_scripts', 'chld_thm_cfg_parent_css', 10 );

No olvides Guardar los cambios en los archivos con el nombre respectivo.

Sube la carpeta con los archivos creados a tu servidor en la carpeta de temas de WordPress.

La manera rápida

El otro método es mediante el uso de plugins. Existen muchos en el repositorio de WordPress para este fin. El que uso y recomiendo es Child Theme Configurator, lo puedes descargar desde ➡ aquí.

Con él además de crear tu child theme, puedes editarlo. Es bastante completo.

Para instalarlo, logueate como administrador en WordPress. En el menú a la izquierda debes ir a: Plugins > Añadir nuevo. Hacemos una búsqueda por Child Theme Configurator y luego le damos clic a Instalar ahora. Actívalo al finalizar.

child theme configurator vivablogger

La creación del tema hijo la hacemos desde: Herramientas > Child themes

Luego clic al check CREATE a new Child Theme en el plugin; en el apartado Select a Parent Theme seleccionamos el tema, en nuestro ejemplo: Twenty Fifteen, para darle después al botón Analyze.

configurar child theme configurator

Esperamos unos segundos a que el plugin haga su trabajo, cuando termine, vamos al final del menú que se desplegó para hacer clic al botón Create New Child Theme. Deja las demás opciones como vienen predeterminadas.

configurar child theme configurator

Con estos simples pasos tendremos nuestro tema hijo creado.

Puedes deshabilitar y hasta desinstalar el plugin al final del proceso, ya que no es necesario para el funcionamiento del child theme.

Activa tu tema hijo

Independientemente del método que uses, al finalizar debes ir a Apariencia > Temas y darle clic a botón Activar del child theme, para que se aplique al WordPress los cambios que realices a style.css y functions.php.

Tip
Si necesitas modificar archivos adicionales de tu tema aparte de style.css y functions.php; solo debes copiar (con su respectiva carpeta, si la tuviera) el archivo desde el tema base a la carpeta de tu child theme.

Por ejemplo, para modificar /includes/ejemplo.php del tema base, crea un carpeta llamada includes en la carpeta de tu tema hijo y copia el archivo ejemplo.php dentro de ella.

Para mayor documentación, este vínculo de Codex WordPress te puede servir.

Deja tus comentarios en el espacio correspondiente, si te atacan las dudas :mrgreen: .

Califica este articulo

Puntuación promedio 4.9 / 5. Votos: 9

No hay votos hasta ahora. Sé el primero en calificar esta publicación.

2 comentarios en «Como personalizar tu WordPress con un Child Theme»

  1. Según el tip que incluyes al final del post ¿cuál sería el modo correcto de incluir snippet de código para personalizar el archivo config.php?
    ¿copiar el archivo a la carpeta del child theme? ¿con ó sin contenido?
    ¿incluirlas en el archivo functions.php? ¿sería eso correcto?
    Espero que no todos tús lectores sean como yo… Un saludo y gracias por compartir tus conocimientos

    Responder
    • Hola Joaquin.
      Si te refieres al wp-config.php que es el archivo de configuración de WordPress, este no se personalizad con el functions.php
      En ese caso se modifica directamente el archivo.
      En caso de ser un archivo del tema, sigues las instrucciones del post: crea una replica de la carpeta donde esta el config.php en el child theme y copia allí el archivo con las modificaciones que necesites.
      Saludos.

      Responder

Deja un comentario

El responsable de este sitio web es Diógenes Mata. La finalidad de los datos es gestionar los comentarios en este blog. El destinatario (donde se almacenan los datos) es el hosting de este blog: Banahosting, ubicado en EEUU. La legitimidad es el consentimiento que otorgas en el formulario. Tienes derecho a acceder, rectificar, limitar y suprimir tus datos según la política de privacidad.