No soy experto en Wordpress. Imagino que como muchos compañeros informáticos, a veces nos toca aprender cosas nuevas a base de fuegos. Necesito que cambies esto para...Ya! Un clásico. Pero bueno, no por las prisas hay que hacer las cosas mal con hacks al core, módulos en Drupal o plugins en Wordpress. Ya lo decía mi padre: Vístete despacio... que luego vas a tener que mantenerlo tú. Además, ya hay demasiado código en el mundo con comentarios @codekiller.
Sucede lo mismo para esas típicas pequeñas modificaciones de los temas. A veces en Drupal, sobretodo si no lo he instalado yo, utilizo el módulo CSS Injector. Muy útil si solamente quieres hacer algunos cambios de estilos y poco más. Si ya es más complejo ya tiramos de hooks y tpls, pero siempre con el mismo objetivo no modificar ficheros!
Pero como os decía hoy os hablo de hacer sobrescrituras en un tema de Wordpress. Los llamados Child Themes.
1º Debemos crear una nueva carpeta en wp-content/themes con el mismo nombre del tema que vas a sobrescribir añadiendo al final del nombre -child:
# cd wp-content/themes/
# ls -l
-rw-r--r-- 1 www-data www-data 30 2011-07-12 23:23 index.php
drwxr-xr-x 7 www-data www-data 4096 2011-12-20 14:16 twentyeleven
# mkdir twentyeleven-child
# ls -l
-rw-r--r-- 1 www-data www-data 30 2011-07-12 23:23 index.php
drwxr-xr-x 7 www-data www-data 4096 2011-12-20 14:16 twentyeleven
drwxr-xr-x 3 www-data www-data 4096 2011-12-20 13:51 twentyeleven-child
2º Impepinablemente, es decir required, necesitamos crear el fichero style.css en la nueva carpeta. Es el único fichero que es obligatorio, los demás solamente los añadiremos si queremos sobrescribir su función. Como se muestra en el próximo ejemplo, si solamente queremos sobrescribir algunos estilos de los ya existentes del tema original deberemos importar el fichero original css. Sino estaríamos creando uno nuevo:
/*
Theme Name: Twentyeleven Child
Description: Child theme for the twentyeleven theme
Author: Your name here
Template: twentyeleven
*/
@import url("../twentyeleven/style.css");
#site-title a {
color: #009900;
}3º Posteriormente deberemos activar y seleccionar como por defecto el tema creado desde la administración de Wordpress. Si todo funciona correctamente tendrás el tema original con tus modificaciones añadidas.
4º Ahora ya podemos sobrescribir cualquier fichero del tema, solamente deberás copiar el fichero del tema original y llevarlo al child. El funcionamiento es simple, si el fichero esta en la carpeta del child utiliza este sino el del tema por defecto.
Os dejo aquí en enlace oficial más detallado y mejor explicado ;)