Logo de WordPress grisWordPress 2.9 ha traído consigo una nueva característica que muchos reclamábamos desde hace bastante tiempo y que lo convierte en un gestor de contenidos mucho más potente de lo que ya era: la inclusión de thumbnails o miniaturas individuales para cada post. No he encontrado prácticamente información en castellano sobre este tema y el Codex de WordPress tampoco proporciona suficiente información, por lo que voy a intentar dejar lo más claro posible cómo se activan y la manera más fácil de utilizar los thumbnails según lo que he leído en este blog y mi propia experiencia.

1. Activación

Si deseamos asignar thumbnails a los artículos, primero deberemos hacer que nuestro theme/plantilla sea compatible con esta funcionalidad. Para ello, añadiremos al archivo “functions.php” que se encuentra en la carpeta de nuestra plantilla el soporte para ello.

if ( function_exists( 'add_theme_support' ) )
add_theme_support( 'post-thumbnails' );

Al incluir este código, se añadirá automáticamente un campo personalizado a todos nuestros posts que será “the_post_thumbnail” y las opciones correspondientes para gestionarlo desde el panel de creación/edición de artículo.

2. Añadir una miniatura a un post

Wordpress ThumbnailTras haber activado la función correctamente como se indica en el paso 1, podremos añadir las thumbnails a los posts a través de una opción en la barra lateral del panel de creación de posts o desde el menú de subidas de imágenes haciendo clic en “Set Thumbnail”. Resulta totalmente trivial la manera de hacerlo y no creo que genere ningún tipo de duda.

3. Mostrar la miniatura en tu plantilla

Para mostrar la miniatura en tu plantilla, deberás editarla manualmente y llamar a la siguiente función donde quiera que se muestre la imagen:

<?php the_post_thumbnail(); ?>

Aunque de esta manera ya estaría totalmente funcional, seguramente haya mucha gente que prefiera adaptarla lo máximo posible a su theme. Esto se puede hacer añadiendo una serie de parámetros a la función, como el tamaño, la clase ( class de CSS), el atributo alt o el title.

3. 1. Gestionando el tamaño de la miniatura

Por defecto, el tamaño de la miniatura será el que tengamos seleccionado para las miniaturas de WordPress (‘thumbnail’) aunque se pueden elegir los otros dos tamaños o incluso personalizarlos según nuestros gustos o necesidades:
Tamaño pequeño:

<?php the_post_thumbnail('thumbanail'); ?>

Tamaño medio:

<?php the_post_thumbnail('medium'); ?>

Tamaño grande:

<?php the_post_thumbnail('large'); ?>

Tamaño personalizado (ancho, alto):

<?php the_post_thumbnail(array( 200,200 )) ?>

Si definimos el tamaño de la miniatura de esta manera, cogerá el tamaño normal de la imagen y lo reducirá, no cogerá el tamaño ‘thumbnail’.

3.2. Gestionando la clase de la miniatura

La clase de la miniatura servirá para añadirle un estilo predefinido en la hoja de estilos del theme. Por defecto es .wp-post-image, pero podremos elegir la que queramos definiendo nuestro propio estilo:

<?php the_post_thumbnail('medium', array('class' => 'imagen_post')); ?>

3.3. Gestionando los atributos alt y title

De la misma manera que hemos visto anteriormente, también se pueden modificar a nuestro gusto los atributos ‘alt’ y ‘title’ de la miniatura, pudiendo ponerlo lo que queramos:

<?php the_post_thumbnail('medium', array('class' => 'alignleft', 'alt' => 'alt_que_queramos', 'title' => 'titulo_que_queramos')); ?>

4. Incluyendo el código completo y a prueba de fallos

Cuando ya tengamos decidido cómo queremos mostrar la thumbnail en nuestro post, sólo nos quedará incluir el código en nuestra plantilla. Sin embargo, deberemos tener en cuenta que los artículos antiguos no tendrán asginada una miniatura, por lo que los deberemos tratar de una manera diferente al resto mediante una comprobación ‘has_post_thumbnail’ (¿Tiene el post miniatura?). En caso afirmativo se mostrará la miniatura, pero en caso negativo se mostrará la miniatura que hayamos utilizado hasta entonces o sino una imagen genérica.

<?php if (  (function_exists('has_post_thumbnail')) && (has_post_thumbnail())  ) {
	the_post_thumbnail();
} else {
	$postimage = get_post_meta($post->ID, 'post-image', true);
	if ($postimage) {
		echo '<img src="'.$postimage.'" alt="" />';
	}else{ echo '<img src="http://tupagina.com/thumbail_generica.png" alt="Thumbnail genérica" />'; }
} ?>

Como podéis comprobar, esta nueva característica de WordPress puede resultar muy útil para los que tenemos themes con formato de revista o queremos mostrar los artículos de diferente manera según el lugar del blog en el que nos encontremos. Espero que os haya resultado útil.