Mostrar los thumbnails de los posts en Wordpress 2.9

Una de las nuevas características incluidas en la nueva versión 2.9 de Wordpress es la de obtener un thumbnail o preview de una imagen para cada post sin necesidad de usar plugins adicionales. De esta forma podemos ponerle una 'carátula' que sea una imagen a cada post que escribamos en Wordpress de una forma rápida y sencilla. Lo primero que debemos tener en cuenta es que la nueva funcionalidad de Magento no extrae automáticamente las imágenes de los posts, si no que al editar la entrada hay que indicar cual es la imagen específica que va a tener como 'Miniatura de entrada'. 1.- Habilitar esta nueva funcionalidad Para habilitar estas funciones debemos incluir en el fichero functions.php unas líneas de código. Además podemos especificar tamaños adicionales a los que vienen por defecto en Wordpress y que se especifican en el administrador (thumbnail, medium y large). Pongo un código de ejemplo, que además está preparado para hacer nuestro tema compatible con versiones anteriores de Wordpress:
PHP:
  1. if ( function_exists( 'add_theme_support' ) ) { // A partir de la 2.9
  2. add_theme_support( 'post-thumbnails' );
  3. set_post_thumbnail_size( 50, 50, true ); // Especificamos el tamaño por defecto de los thumbnails
  4. add_image_size( 'thumbnail-para-la-home', 400, 9999 ); // Especificamos un tamaño específico que se llamará 'single-post-thumbnail'
  5. }

Recordad que este código funcionará sólo con las nuevas imágenes subidas. 2.- Añadir el código para que se muestre la miniatura en la plantilla de Wordpress: Para añadir el código del thumbnail del post simplemente hay que añadir estas líneas, dejando abierta la opción por si el post no tiene imagen en miniatura o no está habilitada esta función:
PHP:
  1. if (function_exists('has_post_thumbnail') && has_post_thumbnail() ) {
  2. the_post_thumbnail();
  3. } else {
  4. // ejemplo de código adicional si no hay imagen en miniatura
  5. $postimage = get_post_meta($post->ID, 'post-image', true);
  6. if ($postimage) {
  7. echo '<img src="'.$postimage.'" alt="" />';
  8. }
  9. }

Podemos pasarle como parámetro a la función the_post_thumbnail() el nombre del tamaño que queremos mostrar en pantalla. Por ejemplo, para obtener las miniaturas en los tamaños estandar de Wordpress podemos usar 'thumbnail', 'medium' o 'large':
PHP:
  1. the_post_thumbnail( 'medium');

También podemos usar los tamaños que hemos predefinido anteriormente en el fichero functions.php:
PHP:
  1. the_post_thumbnail( 'thumbnail-para-la-home');

Para añadir un estilo específico, podemos usar la siguiente clase en nuestra css:
PHP:
  1. .wp-post-image {
  2. border: 2px solid #ccc;
  3. }

3.- Controlar en detalle el código html del thumbnail del post La función que pinta la imagen en miniatura del post acepta un array como segundo parámetro cuyos valores usará luego para construir la etiqueta img. Aunque hay algunos atributos, como el título de la imagen, que se crearán automáticamente a partir de los valores de los campos que se completaron cuando se incluyó la imagen como miniatura en el post. La versatilidad de esta función la podemos ver mejor con otro ejemplo de uso:
PHP:
  1. the_post_thumbnail('medium', array('class' => 'alignleft', 'alt' => 'alttext', 'title' => 'titletext'));

4.- Añadir un thumbnail a los posts Por último sólo queda configurar los posts para que muestren la imagen en miniatura en nuestra plantilla. Esto se logra accediendo a la edición de un post, y seleccionando la imagen a mostrar (o subiendo una nueva) en el enlace del administrador que aparece a la derecha justo debajo de las categorías. También podemos especificar directamente que una imagen sea la imagen en miniatura, en la interfaz que nos muestra Wordpress cuando estamos incluyendo la imagen en el post.
<?php
2 if ( has_post_thumbnail() ) {
3 // the current post has a thumbnail
4 } else {
5 // the current post lacks a thumbnail
6 }
7 ?>

Compartir:
  • Print
  • Facebook
  • Twitter
  • Meneame
  • Google Bookmarks
  • del.icio.us
  • Digg

PROYECTOS RELACIONADOS


COMENTARIOS

[...] This post was mentioned on Twitter by onestic, Michael Davis. Michael Davis said: RT @onestic: [NUEVO POST Mostrar los thumbnails de los posts en #wordpress 2.9 http://bit.ly/7zY1db [...]


Hola

Muy buen articulo !
Estoy intentando implementar thumbnails en mi blog, pero lo que quiero hacer nadie sabe respondérmelo.
Lo que pretendo es hacer un sistema “autómatico” de thumnails que muestre para cada excerpt un thumbnail cuyo nombre sea el id del post seguido de jpg. Así no tendré q modificar los cientos de antiguos artículos que tengo.
Los thumbnails se encontrarían en una carpeta del blog o en photobucket o algun sitio de esos.
Sabes qué podría hacer?
Muchas gracias


PARTICIPA EN LA CONVERSACIÓN

Introduce tu información personal o utiliza tu cuenta de twitter o facebook para acceder

   





SIGUENOSEN: