Desde que actualicé el tema Tarski a la versión 2.0.2, he estado haciendo experimentos con las barras laterales de la bitácora. Y es que, como ya conté entonces, el tema Tarski cuenta, a partir de su versión 2.0, con la posibilidad de utilizar para las entradas individuales y las páginas estáticas una barra lateral diferente a la que figura en la página principal del blog. Como todos los blogueros de cierta experiencia podrán suponer, se trata de una novedad muy bienvenida, pues no hay nada más ineficiente que esas larguísimas barras laterales diseñadas para la página principal; al lado de entradas individuales que pueden ser muy breves, una barra lateral interminable no sólo afea el diseño del blog, sino que además perjudica su rendimiento.

Prueba va, prueba viene, he utilizado los widgets de WordPress para crear una barra lateral alternativa destinada a las entradas individuales y las páginas fijas (véase, como ejemplo, la entrada Por un reconocimiento oficial de las publicaciones digitales. En ella he incluido una lista de las categorías del blog y un archivo cronológico, este último muy breve gracias a su menú desplegable. Además, mediante el widget proporcionado por el plugin WordPress Translation, he añadido a la barra lateral uno de esos artefactos que permiten traducir la página a diversas lenguas. Hay muchos, pero casi todos usan y abusan de las banderitas para identificar los idiomas; yo he preferido prescindir de la simbología y utilizar este plugin, tan eficaz como otros pero mucho más austero, que he localizado gracias al excelente artículo Tsiranana and Multilingual WordPress Plugins, de Lorelle VanFossen (a ver si consigo incrementar las visitas al blog con improbables usuarios en lengua rusa, árabe, japonesa, etc.).

También he incorporado algunos cambios a la barra lateral de la página principal. El primero, una lista de categorías mejorada, con los iconos de sus fuentes RSS correspondientes, que he aprendido a diseñar teniendo bien a mano el tutorial Add RSS Feed Link Icons to WordPress Category Listings. El segundo es un widget de entradas y páginas recientemente actualizadas, logrado mediante el plugin Recent Updates, de Denis de Bernardy; no es que toque y retoque todos los días las entradas del blog, pero de vez en cuando realizo modificaciones o addendas, que así quedan reflejadas en la página principal. Y el tercero es, en realidad, una mudanza, que ha consistido en trasladar los widgets del IBSN, la licencia Creative Commons del blog y el icono del spam filtrado por Akismet a la barra lateral del pie de página.

Las numerosas consultas que me he visto obligado a hacer al Codex de WordPress para conseguir estos efectos se han visto correspondidas con algún logro adicional, como por ejemplo la mejora de la página de etiquetas, antes demasiado escueta, y que ahora muestra una nube de etiquetas más completa, derivada de mis averiguaciones sobre la función wp_tag_cloud. Para conseguir esta nueva nube de etiquetas, he editado el tema tags.php del tema Tarski, y allí donde ponía

<p class="tagcloud"><?php wp_tag_cloud(); ?></p>

lo he cambiado por

<p class="tagcloud"><?php wp_tag_cloud('number= 150'); ?></p>

Pero lo mejor de todo lo dejo para el final. Se trata del invento de los widgets condicionales, es decir, widgets que permiten aprovechar las etiquetas condicionales de WordPress para conseguir efectos especiales. Por ejemplo, que un texto, o una imagen, o un conjunto de enlaces (o lo que sea) aparezca en una entrada o página determinada en función de las características particulares de ésta. Las utilidades que cualquier bloguero puede encontrar a esta función son innumerables: un saludo que sólo aparece en la página principal, o un conjunto de enlaces que se muestra en determinada página estática, o una barra lateral diferenciada para una categoría, o qué se yo.

Claro que esta sofisticación tiene un precio; y éste consiste en diseñar plantillas de páginas diferenciadas, con sus respectivas etiquetas condicionales, o bien en instalar algún plugin que permita ejecutar código PHP en los widgets. Yo recomiendo dos: el Exec-PHP, que a partir de su versión 3.4 permite ejecutar scripts en los widgets de texto, y el Samsarin PHP Widget, que permite activar scripts PHP en nada menos que 25 instancias del widget. Con el auxilio de ambas herramientas, y algunos tutoriales que he encontrado por ahí (véanse, a este respecto Bring Life to Your Blog Using Conditional Tags, WordPress: Conditional Tags y WordPress: Conditional Tags – 2) he mejorado las barras laterales del blog con algunos widgets condicionales. Por si a alguien le vienen bien, aunque sólo sea como inspiración, aquí dejo el código de dos de ellos:

1. Lista de enlaces de la página principal.

<?php if(is_home()) { ?>
<h3 style="border:none">Enlaces</h3>
<?php wp_list_bookmarks('category_before=&category_after=&title_before=<h3>&title_after=</h3>&show_images=0&show_description=0'); ?>
<?php } ?>

Este widget consigue que aparezca la palabra Enlaces sin subrayar (para lo cual elimina los bordes) como título del bloque de enlaces, tras lo cual se incluye la función que llama a las distintas categorías de enlaces del blogroll.

2. Selección aleatoria de fotos.

<?php if((is_single('211') || is_single('216') || is_single('220') || is_single('249') || is_single('256') || is_single('350') || is_single('354') || is_single('363') || is_single('428') || is_single('439') || is_single('442') || is_single('446') || is_single('449') || is_single('452') || is_single('493') || is_single('560') || is_single('580'))) { ?>
<h3>Más fotos en Flickr</h3>
<p style="font-size:0.8em">Si desea ver el resto de las fotografías de Eduardo Larequi en <a href="http://www.flickr.com/" title="Flickr">Flickr</a>, vaya a la página de <a href="http://www.labitacoradeltigre.com/fotos/" title="Página de fotos">fotos</a>. Aquí tiene una selección aleatoria de miniaturas, realizada gracias al plugin <a href="http://www.randombyte.net/blog/projects/falbum/" title="Plugin Falbum">Falbum</a>.</p>
<?php require_once(ABSPATH.'/wp-content/plugins/falbum/falbum.php'); global $falbum; ?>
<?php echo $falbum->show_random(8); ?>
<?php } ?>

Lo que hace este código es decirle al blog que active la selección aleatoria de las fotos de mi cuenta de Flickr y muestre ocho miniaturas (lo cual se realiza con ayuda del plugin Falbum) en aquellas entradas pertenecientes a la categoría de Fotos. No es una maravilla (es más, creo que el código resulta bastante chapucero), pues sólo he sabido llamar a las entradas de la mencionada categoría con etiquetas condicionales que sucesivamente apelan al ID de cada una de las entradas. Si alguien conoce un sistema mejor (y menos gravoso para el rendimiento del blog) le agradecería mucho que me lo contara. En todo caso, pueden verse tres ejemplos de cómo funciona este invento condicional en entradas como Larequi-Bin Laden-Gorbachov-Schwarzenegger, Paseo por las riberas del Arga y Las fiestas de San Fermín en Flickr.

Addenda del 19 de febrero de 2008

Acabo de descubrir una solución para el widget condicional de la sección de fotos mucho más satisfactoria que la que figura en las líneas precedentes. Se trata de utilizar la etiqueta condicional in_category, que tiene la siguiente sintaxis:

<?php if ( in_category('category_id') ): ?>
// Código HTML/PHP
<?php endif; ?></pre>
<p>Basta, pues, con identificar el ID de la categoría fotos (14) y añadir el código</p>
<pre lang="PHP"><?php if ( in_category('14') ): ?>
<h3>Más fotos en Flickr</h3>
<p style="font-size:0.8em">Si desea ver el resto de las fotografías de Eduardo Larequi en <a href="http://www.flickr.com/" title="Flickr">Flickr</a>,
vaya a la página de <a href="http://www.labitacoradeltigre.com/fotos/" title="Página
de fotos">fotos</a>. Aquí tiene una selección aleatoria
de miniaturas, realizada gracias al plugin <a href="http://www.randombyte.net/blog/projects/falbum/" title="Plugin
Falbum">Falbum</a>.</p>
<?php require_once(ABSPATH.'/wp-content/plugins/falbum/falbum.php'); global
$falbum; ?>
<?php echo $falbum->show_random(8); ?>
<?php endif; ?>

para obtener el mismo resultado de antes, sólo que de manera mucho más elegante. Esta solución tiene la ventaja de un código más breve, y además no me obliga a retocar el código del widget cada vez que añada una entrada a la sección de Fotos.

alojamiento wordpress