Para los que utilizamos temas de WordPress muchas veces nos encontramos que al adquirir un tema viene con otro archivo llamado child-theme que ignoramos o subimos pero no usamos, por ello les comparto para qué sirven y cómo hacerlos en caso de que nuestro tema no cuente con uno.

¿Qué es un tema hijo (child theme) en WordPress?

En WordPress, un “tema hijo” (child theme en inglés) es un tipo de tema que hereda las características y estilos de otro tema principal, conocido como “tema padre”. Los temas hijos permiten realizar personalizaciones en un sitio web de WordPress sin afectar directamente al tema principal.

Cuando se crea un tema hijo, se pueden realizar modificaciones en el código, los estilos y otras características sin alterar el tema padre original. Lo que es útil sobre todo con temas que reciben actualizaciones ya que si hacemos modificaciones directas, los cambios realizados se pierden cuando en la actualización se sobreescribe el archivo modificado.

La estructura de un tema hijo incluirá archivos específicos que se desean sobrescribir o modificar en comparación con el tema principal. Al hacer referencia a archivos específicos en el tema hijo, WordPress prioriza estos archivos sobre los del tema padre.

¿Cómo crear un tema hijo en WordPress?

Para generar un nuevo tema hijo podemos hacerlo manualmente o utilizando un plugin que haga el trabajo, veamos entonces las 2 opcioenes:

Como hacer un tema hijo de WordPress manualmente:

1.- El primer paso es entrar a la carpeta de temas (wp-content/themes/) y crear una nueva carpeta con el nombre del tema padre agregando -child al final del nombre como se ve en la siguiente imagen:

2.- Dentro de la nueva carpeta crearemos 2 archivos: functions.php y style.css, en los cuales agregaremos el siguiente contenido tomando en cuenta la imagen anterior:

/*
Theme Name: Newspack Child
Theme URI: https://github.com/Automattic/newspack-theme
Template: newspack-theme
Author: Automattic
Author URI: https://newspack.com
*/Lenguaje del código: JSON / JSON con comentarios (json)

A continuación podemos ver qué significa cada una de las líneas anteriores:

  • Theme Name: El nombre del tema hijo, se recomienda que incluya el nombre del tema padre.
  • Theme URI: Url del tema // campo opcional
  • Template: Esta es la referencia al tema padre, aquí debes colocar el nombre de la carpeta del tema padre.
  • Author: Nombre del autor del tema hijo
  • Autor URL: Sitio web del autor
  • Description: Descripción del nuevo tema hijo // campo opcional
  • Version: versión del tema hijo // campo opcional
  • License: Nombre de la licencia por defecto // campo opcional
  • License URI: URL para información adicional de la licencia usada. // campo opcional
  • Text Domain: identificador para traducciones del tema hijo // campo opcional

3.- Agregamos el siguiente contenido a functions.php:

function enqueue_styles_child_theme() {

	$parent_style = 'parent-style';
	$child_style  = 'child-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', 'enqueue_styles_child_theme' );Lenguaje del código: PHP (php)

Con estos cambios realizados ya aparecerá el tema y podemos activarlo desde la sección de temas de wordpress dentro del menú de apariencia.

Como hacer un tema hijo de WordPress utilizando un plugin

1.- Desde la sección de plugins dentro de WordPress debemos buscar e instalar un plugin para hacerlo buscando “Child Theme” encontraremos distintas opciones:

2.- Para este ejemplo utilizaremos Child Theme Configurator para ello entramos a Añadir plugins dentro del menú Plugins y buscamos Child Theme Configurator para después dar clic en instalar ahora.

3.- Ya con el plugin instalado basta con activarlo y seguiremos los siguientes pasos para crear nuestro tema hijo:

4.- Entramos a la configuración del plugin el cual aparece dentro del menú herramientas de WordPress.

5.- Al entrar nos mostrará la opción de crear un nuevo tema hijo para lo que seleccionaremos el tema que se convertirá en padre y daremos clic en analizar.

6.- Si todo está correcto veremos las opciones para personalizar el tema hijo a crear, a menos de que se desee cambiar algo se pueden mantener las opciones marcadas y presionar el botón de crear nuevo tema hijo:

7.- Finalmente podrás previsualizar el resultado y en caso de ser lo que se espera activar este tema y hacer las modificaciones necesarias.

En conclusión:

Crear un tema hijo es comúnmente recomendado cuando se realiza una personalización significativa en un sitio de WordPress. Además, facilita el mantenimiento y la actualización del tema principal sin perder las personalizaciones específicas del usuario.