Qué es un child theme o tema hijo en WordPress

Un child theme o tema hijo en WordPress es un theme que hereda las funcionalidades y estructuras de otro theme al que le llamamos: tema padre o parent theme. Un theme child siempre depende de un theme parent.

Se utiliza principalmente para personalizar un sitio sin tener que crear un theme desde 0. Se pueden realizar modificaciones de las zonas que interesen o ampliar funcionalidades sin alterar la plantilla original; de tal manera que si un theme parent recibe una actualización, los cambios que se hagan no se perderán como ocurre si se modifica la plantilla original. Acelera el proceso de desarrollo.

Muchas veces, los themes no traen un child theme y se debe crear uno. Para crear un child theme  , hay que seguir los siguientes pasos:

PASO #1: Se crea una carpeta nueva en el directorio /wp-content/themes/ con el nombre del theme child. Este no puede contener espacios o caracteres especiales. Es habitual añadir la coletilla “-child” al final.

PASO #2: Se crea una hoja de estilos dentro de ese nuevo directorio llamada style.css con las siguientes líneas:

Si se quiere heredar los estilos del theme parent para redefinir pequeñas cosas, es necesario añadir una línea más de código al fichero styles.css. Para ello existen dos maneras:

  • @import: Permite importar reglas CSS desde otras hojas de estilo. Por ejemplo:

    Aunque se puede utilizar para importar las hojas de estilos de los theme parents, es recomendable y correcto utilizar el método que veremos a continuación.
  • Método wp_enqueue_style(): Añade CSS al sistema de dependencias de WordPress, registra un estilo. Pone en cola el archivo o archivos CSS que le indicamos. Este código debe insertarse en el archivo functions.php del child theme. Su sintaxis es la siguiente:

Esto se puede realizar siempre y cuando el theme parent sea compatible y sus .css no sean externos. Si no, se estaría importando un style.css vacío.

PASO #3 (Opcional): Se crea un archivo functions.php dentro del directorio del child theme.  Este archivo no substituirá al functions.php del theme parent, se carga en adición a él. La estructura de este archivo es la siguiente:

Si queremos sustituir o modificar más archivos del theme parent en el child theme, lo único que tenemos que hacer es incluir el archivo deseado con el mismo nombre que tenga en el theme parent pero en el child theme y este se sobrescribirá automáticamente.

[Total:4    Promedio:5/5]

Documentación relacionada