fbpx

Crear un tema hijo en WordPress

Uno de los primeros aspectos a abordar al adentrarse en la programación web es la creación de un tema hijo en WordPress. Una vez hemos empezado a realizar modificaciones en el css de nuestro tema y quizás hasta hemos creado alguna función, para no perder nuestro trabajo en la siguiente actualización del tema, necesitamos crear un tema hijo (child theme).

El motivo es que todos los archivos del tema se guardan en la carpeta wp-content/themes/nombre-del-tema y al actualizar el tema, todos sus ficheros se sobreescriben, así que perdemos todo el trabajo realizado.

Vamos a crear un tema hijo de Storefront, el tema oficial de Woocommerce

Para crear un tema hijo en WordPress necesitamos 3 elementos básicos:

  • Una carpeta que contenga nuestros ficheros
  • Una hoja de estilo: style.css
  • El archivo de funciones: functions.php

Carpeta del tema

Es necesario crear una carpeta dentro de ./wp-content/themes con el nombre de nuestro tema. No es obligatorio, pero sí recomendable, utilizar el nombre del tema seguido de “-child”. En nuestro ejemplo, la carpeta que crearemos será  ./wp-content/themes/storefront-child .

Style.css

Este archivo contendrá todas las clases que utilicemos para modificar el tema original. El único requisito es que contenga esta cabecera:

/*
 Theme Name:   Storefront Child
 Theme URI:    http://example.com/storefront-child/
 Description:  Storefront Child Theme
 Author:       FerBcn
 Author URI:   http://FerBcn.com
 Template:     storefront
 Version:      1.0.0
 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:  storefront-child
*/

Las dos líneas importantes son:

  • Theme name: Este será el nombre que veamos en lapágina de temas de WordPress
  • Template: Esta es la carpeta que contiene el tema “padre” de nuestro tema. Si este dato es incorrecto, no se cargarán los estilos y funciones del tema padre.

Functions.php

En este archivo escribiremos las funciones que queramos añadir y añadiremos o quitaremos hooks de funciones ya existentes (próximamente escribiré un post explicando como realizar modificaciones en el tema manipulando los hooks). Además, es necesario incluir una función para que la hoja de estilos de nuestro tema se cargue después de la del estilo padre.

Este es el código indicado en el codex de WordPress para “encolar” nuestro css:

<?php
function my_theme_enqueue_styles() {

    $parent_style = 'parent-style'; // This is 'twentyfifteen-style' for the Twenty Fifteen theme.

    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', 'my_theme_enqueue_styles' );
?>

Activar el tema hijo en WordPress

Ahora, para activar el tema en nuestro site solamente tenemos que subir subir todos estos ficheros por ftp a la carpeta que hemos creado.

En caso de no disponer de una conexión ftp, siempre podemos crear un archivo zip de la carpeta del tema y cargarlo desde Apariencia->temas->Añadir nuevo tema.

Y, para acabar de personalizar el tema, yo siempre creo un screenshot para diferenciarlo del resto. La imagen que muestra WordPress para cada tema es la contenida en el fichero screenshot.png. Basta con descargar la imagen del tema padre, modificarla a nuestro gusto y añadirla a la carpeta del nuestro tema hijo en WordPress.

Imagen de portada por Luca Bravo en Unsplash

ferbcn

Me gusta escribir, la fotografía, la programación, el diseño y el marketing. A veces lo junto todo, hago webs y las posiciono.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: