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.

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.
Al para elegir que tema vamos a utilizar, tiene que ofrecer como características indispensables:
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.
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' );
?>
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' );
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.
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 */
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' );
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.