¿Qué es un tema hijo en WordPress?

01/03/2018

Los temas de WordPress los podemos encontrar en la carpeta wp-content/themes de nuestra instalación. Existen numerosos temas gratuitos y de pago que podemos descargar y poner en funcionamiento. Sin embargo, puede darse la posibilidad que nos pidan pequeños cambios en nuestro tema. Para ello WordPress nos da la opción de crear un tema hijo (conocido como child theme).

tema hijo wordpress
tema hijo wordpress

Si modificamos el tema original podemos tener problemas en futuras actualizaciones que podrían hacer desaparecer nuestros cambios en el código. Para ello WordPress provee los temas hijos. En la imagen anterior podemos observar como el tema activo es Sparkling child, en lugar de Sparkling. La pregunta entonces es, ¿cómo crear un tema hijo en WordPress? Muy fácil 🙂

A continuación veremos los pasos para crear un tema hijo. En primer lugar, creamos una carpeta nueva dentro de wp-content/themes, por ejemplo sparkling-child y dentro creamos dos ficheros: style.css y functions.php. El primero de ellos debe contener tan solo unas etiquetas que marcan que el tema padre es sparkling. Por otro lado, functions.php debe encolar los ficheros css con el hook enqueue.

style.css debe contener el siguiente código, el más improtante es la etiqueta Template:

/*
 Theme Name:  sparkling-child
 Theme URI: data.cervantesvirtual.com
 Description: Ejemplo de tema hijo
 Author: Fundación Biblioteca Virtual Miguel de Cervantes
 Template: sparkling
 Version: 1.0
*/

functions.php debe tener un código como el siguiente:

<?php
function child_theme_enqueue_styles() {
$parent_style = 'parent-style';

wp_enqueue_style( $parent_style, get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array( $parent_style ), wp_get_theme()->get('Version') );
}
add_action( 'wp_enqueue_scripts', 'child_theme_enqueue_styles' );
?>

De esta forma ya tendremos disponible nuestro tema hijo desde el menú Apariencia/temas. Si además deseamos que aparezca la imagen a la hora de seleccionarlo, podemos incluir el fichero screenshot.png del tema padre.

Espero que ya no tengáis problemas a la hora de modificar vuestros temas en WordPress!