Personalizando un WordPress: Partir de una plantilla base.

Para generar el wordpress que se ajuste al guion y diseño planteado para nuestro proyecto, podemos comenzar a escribir código sobre los archivos que hemos presentado en el artículo “generando un nuevo tema” o partir de uno de los temas base que nos ofrece por defecto WordPress.

Temas base que ofreceWordpress por defecto
Temas base que ofreceWordpress por defecto

Si optamos por partir de un tema base hay que tener en cuenta que WordPress los va variando y actualizando con sus diferentes versiones. El partir de un tema ya desarrollado tiene la ventaja de que ya es operativo y tenemos mucho trabajo ya desarrollado.

De que tema partimos

Al para elegir que tema vamos a utilizar, tiene que ofrecer como características indispensables:

Crear un tema hijo

Desde el momento que hacemos cambios en la programación de un tema base, ya no podremos apuntarnos a las actualizaciones que se vayan haciendo sobre ese tema, con la posibilidad de tener problemas de seguridad si una de las actualizaciones lo que están corrigiendo es una vulnerabilidad del código.

Cuando un tema principal se actualiza, se reescriben sus archivos. Todas las modificaciones que se hayan realizado sobre ellos se borran.

Una forma de evitar los problemas de actualización del tema del que partimos es crear un tema hijo o child theme, es un tema que hereda las funcionalidades básicas de un tema principal o tema padre y permite mejorarlas, modificarlas y ampliarlas y sobre todo no perderlas con cada actualización.

Un tema hijo no se actualiza a la vez que el tema padre, no se reescribe y sigue heredando las funcionalidades del tema padre.

Como creo un tema hijo

En WordPress codex nos dan la información para generar un tema hijo, voy a explicar aquí a mi manera los pasos.

Dentro de la carpeta wp-content buscamos el nombre que tiene la carpeta que contiene el tema que vamos a usar como base y creamos una carpeta que se llame como el tema base más -child (nombretheme-child).

Comenzamos creando dentro un archivo style.css que contendrá el siguiente código:

/*
Theme Name: Twenty Seventeen Child Theme
Theme URI: https://wordpress.org/themes/twentyseventeen/
Description: Twenty Seventeen Child Theme con elementos añadidos
Author: Paco Contreras
Author URI: http://pacocontreras.com
Template: twentyseventeen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
Text Domain: twenty-seventeen-child
*/

El siguiente archivo a crear es el functions.php, en el crearemos aquellos métodos que precisen los cambios que vayamos a hacer y así tenerlos preservados de las actualizaciones. Escribimos el primer código en él para importar los estilos del tema base:

<?php
function traer_estilos()
{
     wp_enqueue_style( 'child-theme-css', '[URL_CSS_PARENT]' );
}
add_action( 'wp_enqueue_scripts', 'traer_estilos' );
?>

Para la traducción del tema

Creamos dentro de la carpeta del tema hijo una carpeta languages y copiamos en ella los archivos .po y .mo del tema base y activamos la traducciones del tema hijo en functions.php cargando el textdomain, que hemos indicado en el archivo styles.css del tema hijo, con el código:

function my_child_theme_setup() {
        load_child_theme_textdomain( 'textdomain', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'my_child_theme_setup' );

Ponerlo en funcionamiento

A partir de aquí iremos creando código en functions.php, añadiendo estilos en style.css y podemos crear archivos como footer.php, header.php, single.php … para cambiarlos. Hay que tener en cuenta que al crear un footer.php anulamos el del tema base y cargará siempre nuestro footer obviando los cambios y actualizaciones que sobre el hagan en el tema base.

Activamos el tema hijo en nuestro blog y tendremos la funcionalidad y aspecto del tema base más los cambios que vayamos haciendo.

Convertirlo en un tema propio

Si decidimos no crear un tema hijo es importante que revisemos el código para tener conocimiento de él y poder hacer los cambios que consideremos necesarios. Podemos eliminar aquellos bloques o partes que no necesitemos y no sean imprescindibles para el funcionamiento de nuestro proyecto.

Lo primero es hacer una copia del tema base y renombrar la carpeta con el nombre del tema que vamos a crear.

Lo siguiente es editar el archivo style.css para personalizarlo al nuevo tema que vamos a crear:

/*
Theme Name: Nombredeltema
Theme URI: URl del tema
Description: Descripción del tema
Author: Autor del tema
Author URI: URl de la web del autor
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: etiquetas que definen el tema
Text Domain: nombre del tema en minúsculas y separado por guiones 
*/

Para la traducción del tema

Si no existe dentro de la carpeta del tema una carpeta languages, la creamos y creamos en ella los archivos es_ES.mo y es_ES.po (lo primero es el código del idioma que estemos manejando, crearíamos un par por cada idioma que maneje el blog).

En functions.php cargamos el textdomain, que hemos indicado en el archivo styles.css del tema, con el código:

load_theme_textdomain( 'textdomain', get_template_directory() . '/languages' );

Ponerlo en funcionamiento

A partir de aquí vamos editando los distintos archivos para realizar en ellos los cambios que necesite nuestro proyecto. Y una vez terminado lo activamos.

Hay una serie de elementos generales a personalizar para el tema se parta de un tema base o no.

Partir de una plantilla es una decisión que hemos tomado al iniciar la generación de un nuevo tema de Woprdpress.

Compartir