Como modificar un tema en WordPress - Child Theme

Modificar un tema en WordPress (Child themes)

Publicado Por | 16 mayo , 2013 | Blog Adrenalina, SEO Técnico | No Comments

Modificar el tema en WordPress - Child Theme

Cuando queremos adaptar un tema de WordPress, si no realizamos los cambios correctamente corremos el riesgo de en algún momento querer actualizar el tema y no poder por que perderemos las modificaciones realizadas. Por ejemplo, si modificamos el style.css de nuestro tema cuando lo actualizemos este será “machacado” en el update perdiendo los cambios y volviendo al estilo original del theme.

Child themes

Para poder actualizar el tema sin perder nuestros cambios el camino a seguir pasa por los Child themes, que nos permitirán customizar el tema igualmente sin hacer modificaciones directamente en este y no perder los cambios al hacer un update.

Para crear un child theme lo primero que necesitamos es un tema principal instalado. Pongamos por ejemplo el Twenty Eleven.

Seguidamente crearemos una carpeta en nuestros temas y le incluiremos un style.css.

Para que WordPress lo entienda como un child theme deberemos añadir al style.css el header:

/*
Theme Name:     Child Theme Twenty Eleven
Description:    Child theme para modificaciones en el Twenty Eleven
Author:         Adrenalina
Author URI:     http: //adrenalina.es/
Template:       twentyeleven
Version:        0.1
*/

Las líneas imprescindibles son las del nombre del tema y la del template, que indica de que tema heredamos y que deberemos escribir con el mismo nombre que la carpeta del tema padre, es decir sin mayúsculas ni espacios.

Nuestro site usará el style.css de nuestro Child theme, así que es aconsejable añadir a nuestro archivo:

@import url("../twentyeleven/style.css");

Con esta línea, importaremos la hoja de estilo del Twenty Eleven, así cualquier línea de código que introduzcamos se “sumará” a la importada. Importante, esta línea de código debe ir situada después del código header y antes de cualquier línea de código css o de lo contrario no funcionará.

No os olvideis de activar el Child theme en el dashboard.

Templates

A pesar de que podemos realizar la mayor parte de las modificaciones en css y en el functions.php, hay veces en las que nos interesará modificar el template para obtener un buen resultado. Para hacerlo, nunca modificaremos el template del tema y aprovecharemos nuestro Child theme.

Es importante saber que cualquier archivo del child theme con el mismo nombre que un archivo del parent theme lo substituirá. Así, para personalizar nuestro tema deberemos copiar el archivo que queremos modificar en la carpeta del Child theme y ya le podremos hacer las modificaciones deseadas, sin miedo a futuras actualizaciones del tema.

Para crear un nuevo template bastará con añadir al principio del archivo:

<?php
/*
Template Name: Nuevo Template
*/
?>

Con esto informaremos a WordPress que este es un template de página y nos permitirá seleccionarlo al editar una página. Y ya podremos introducir nuestro código

Functions.php

Como comentábamos los archivos del Child theme con el mismo nombre substituyen a los del parent theme. Sin embargo, el functions.php es una excepción, ya que éste sera cargado addicionalmente al del tema padre. Por tanto, no es necesario copiar el functions.php del Twenty Eleven en el functions del Child theme.

Los desarrolladores podemos aprovechar la particularidad que el functions.php del Child Theme se carga antes que el del tema padre para introducir cambios en las funciones y adaptarlas.

if ( ! function_exists( 'theme_special_nav' ) ) {
function theme_special_nav() {
//  Do something.
}
}

Espero haberos ayudado a personalizar vuestros temas sin miedo a posteriores actualizaciones.

Autor: Lluis Torns

Estudiamos y analizamos su negocio en profundidad, definimos objetivos y planteamos la estrategia de marketing más adecuada centrándonos en conseguir cada uno de los objetivos propuestos. Solicita Presupuesto Ahora

Uso de cookies

En este sitio web utilizamos cookies propias y de terceros para mejorar nuestros servicios, para que usted tenga la mejor experiencia de usuario y analizar su visita. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.