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:

[php]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;
}[/php]

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

Actualización del 29 de abril de 2011

Después de actualizar el blog a la versión 3.1.2 de WordPress, me he dado cuenta de que, incluso aunque inserte una imagen de mayor tamaño que el de la columna principal, el sistema la redimensiona para que no sobrepase la anchura de la caja de texto. No sé si esta circunstancia se debe a los cambios introducidos en las últimas versiones de la aplicación, o a la reciente actualización del tema Tarski, pero en todo caso he decidido dejar esta entrada tal como se publicó originalmente, por si el truco sigue funcionando con otros temas para WordPrss.

Actualización del 29 de agosto de 2012

Acabo de averiguar que el tema Hybrid, utilizado por este blog desde hace casi un año, permite utilizar plantillas para entradas individuales. De hecho, el tema incluye un fichero de plantilla, post-no-widgets.php, que justamente sirve para desactivar las zonas de widgets. Basta, pues, con editar una entrada, adjudicarle dicha plantilla, y voilà.