Desactivar la barra lateral sin tocar las plantillas de WordPress

Desde que comencé a utilizar el tema Tarski, en varias ocasiones me he visto enfrentado a la necesidad de conseguir para la caja de texto un espacio mayor que los magros 500 píxels que define para tal propósito la citada plantilla. Sabía que el tema se podía retocar para ajustarlo a esa finalidad (véase el artículo Theme Hooks, que alguna otra vez he citado), pero me amedrentaba la idea de tener que andar haciendo pruebas con el código y con las etiquetas condicionales de WordPress.

Hasta que descubrí el blog de Justin Tadlock (ayer lo cité por primera vez, y creo que ésta no será la última), y su artículo Disable widget areas (sidebars) without touching theme templates, en el que se muestra con una sencillez y elegancia pasmosas cómo resolver este problema: sencillamente, utilizando un código condicional que desactiva la barra lateral según las circunstancias requeridas. El código se añade al archivo functions.php del tema en cuestión (Tarski, en mi caso), y listo.

Para los interesados, he aquí la función que acabo de añadir a dicho fichero:

add_filter( 'sidebars_widgets', 'disable_post_and_page_sidebar_widgets' );

function disable_post_and_page_sidebar_widgets( $sidebars_widgets ) {

	if ( is_single('747') )
		$sidebars_widgets['sidebar-post-and-page'] = false;

	return $sidebars_widgets;
}

Lo que hace este código es añadir un filtro que se encarga de desactivar la barra lateral de entradas y páginas; en el tema Tarski, el nombre que identifica dicha barra es “sidebar-post-and-page” (véase el archivo /app/launcher.php, del citado tema), pero en otros temas tendrá un nombre diferente. El filtro se aplica mediante la etiqueta condicional “is_single”, que sólo tiene efecto sobre la entrada 747 (que es la que usted, amable lector, amable lectora, tiene ante sus ojos). Si fuera necesario desactivar la barra lateral en otras entradas, habría que añadir el código PHP necesario para decirle a WordPress: “desactiva la barra lateral de entradas y páginas de Tarski siempre que la entrada sea la 747, o la 126, o la 333…”.

Y para concluir la entrada, una demostración de la efectividad de esta técnica, al mismo tiempo que un pequeño regalo para la vista: la fotografía de un esplendoroso almendro en flor, tomada en la carretera entre Fonz y Estadilla, en Huesca, el domingo 14 de marzo, a eso de las cuatro de la tarde. La instantánea tiene 720 píxels de ancho (que es, justamente, el espacio total que ocupa en el navegador el tema Tarski, con su columna de texto y su imagen lateral), por lo cual viene muy bien a efectos de demostración.

La foto tiene su anécdota, pues mientras la tomaba paró en la carretera un coche con dos simpáticos ancianos. El conductor bajó la ventanilla, me preguntó qué hacía metido en el campo y, cuando yo le contesté que sacando fotos de tan hermosos árboles, me contestó con orgullo nada disimulado: “es que son míos”. Luego estuvimos hablando un rato de que antes estaban mejor cuidados y producían más, que ahora ya no los pueden cuidar como se merecen, y ese tipo de cosas. No tuve reflejos para pedirle al abuelo su dirección de correo electrónico (o la de un hijo, o un nieto), y poder mandarle las fotos y la URL de este artículo.

Flor de almendro, entre Estadilla y Fonz, Huesca, 14-III-2009

Flor de almendro, entre Estadilla y Fonz, Huesca, 14-III-2009

Compartir
  • Add to favorites
  • BarraPunto
  • Bitacoras.com
  • BlinkList
  • blogmarks
  • del.icio.us
  • Digg
  • email
  • Facebook
  • Google Bookmarks
  • Diigo
  • Live
  • Meneame
  • MisterWong
  • MySpace
  • Netvibes
  • NewsVine
  • Reddit
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter

Etiquetas: , , ,

Este blog utiliza moderación de comentarios; por tanto, bajo ciertas condiciones puede producirse un cierto retraso entre el envío del comentario y su aparición en el blog. Si su comentario no se publica inmediatamente, por favor no lo envíe por segunda vez.

En los comentarios se pueden utilizar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>