Usar TimThumb en tu theme de WordPress

No pocas veces vemos un theme de WordPress que deseamos usar pero, lamentablemente, todavía no posee ningún script para facilitarnos la tarea de subir imagenes y redimensionarlas o recortarlas para ser reutilizadas en el home del theme. En la mayoría de los casos, veremos que es muy simple identificar en el theme la porción de código a reemplazar para aminorarnos el trabajo. Si usamos TimThumb, debemos tener presente que hay que usar Campos Personalizados (es facil, no se asusten).

Preparando Archivos y Carpetas

Descargá el archivo TimThumb.php, cuyo autor es darrenhoyt.com (autor del famoso theme Mimbo). Subilo a la carpeta del theme al que le vamos a colocar el script. Creá una carpeta dentro de tu theme llamada /cache/ y asignale permisos 777.

ftp

Si vas a utilizar el editor de themes de WordPress, asigná permisos 777 a los archivos del Theme y luego retornalos a 644. Sino trabajá desde tu equipo utilizando Notepad ++ y subiendo los archivos con tu FTP favorito.

Editando el Loop

El archivo index.php o el home.php de tu theme necesita de alguna imagen de tamaño especial para funcionar. Cierto? Queremos eliminar la necesidad de hacer algún crop o resize especial para la portada por cada nota. En mi caso modifiqué el theme CSS Gallery y en su index.php la parte del loop que necesitaba modificar era la siguiente:

<?php while (have_posts()) : the_post(); ?>

<div class="item" onmouseover="this.className='item2'" onmouseout="this.className='item'">
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>

<p><a href="<?php $values = get_post_custom_values("url"); echo $values[0]; ?>" title="<?php the_title(); ?>">
<img src="<?php $values = get_post_custom_values("thumbs"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a></p>

Allí llama al custom field en el que nosotros indicamos la ruta de la miniatura resizeada (de un modo bastante rústico y semi-manual). Nosotros tenemos que indicarle la ruta con la que trabaja el script TimThumb. Reemplazamos la línea en donde llama a la imagen (en rojo) por esto:

<img src="<?php bloginfo( 'template_directory' ); ?>/timthumb.php?src=<?php echo get_post_meta( $post->ID, "thumbs", true ); ?>&amp;w=225&amp;h=144" alt="<?php the_title(); ?>"  class="borderimg" /></a> </p>

El Theme utiliza miniaturas de 255 x 144 px, por lo que hay que solicitar al script ese tamaño para nuestra portada, siendo w=Ancho (wide) y h=Alto (height).

Veamos otros ejemplos para setear la imagen extraidos de c.hadcoleman.com

Mostrar Solo Imagen

<?php if ( get_post_meta($post->ID, 'thumb', true) ) { ?>
	<div class="postthumb">
		<img src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, "thumb", $single = true); ?>&h=150&w=150&zc=1" alt="<?php the_title(); ?>" width="100" height="57" />
	</div>
<?php } ?>

Mostrar Imagen con Link al Post

 <?php if ( get_post_meta($post->ID, 'thumb', true) ) { ?>
	<div class="postthumb">
		<a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><img src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, "thumb", $single = true); ?>&h=150&w=150&zc=1" alt="<?php the_title(); ?>" width="150" height="150" /></a>
	</div>
<?php } ?>

Mostrar Imagen e Insertarle Link a URL personalizada

<?php if ( get_post_meta($post->ID, 'imglink', true) ) { ?>
	<div class="postthumb">
		<a href="<?php echo get_post_meta($post->ID, "imglink", $single = true); ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php } ?><img src="<?php bloginfo('template_directory'); ?>/scripts/timthumb.php?src=<?php echo get_post_meta($post->ID, "thumb", $single = true); ?>&h=150&w=150&zc=1" alt="<?php the_title(); ?>"  /><?php if ( get_post_meta($post->ID, 'imglink', true) ) { ?></a><?php } ?>
	</div>
<?php } ?>

Insertando las imagenes desde los Campos Personalizados

Como último paso deberemos hacer uso de los Campos Personalizados (Custom Fields) cuando escribamos un post. Seleccionemos cualquier imagen de nuestro artículo y entremos a la solapa editar de modo de poder ver la URL a la imagen

custom1

Copiamos ese enlace, cerramos la pantalla de opciones de la imagen y vamos al pié de la página de edición del post, a la sección de Campos Personalizados.

campos-personalizados

Insertá el nombre del campo personalizado tal cual lo generaste en la nueva URL de tu index.php. En nuestro caso es “thumbs” como podemos ver:

<img src="<?php bloginfo( 'template_directory' ); ?>/timthumb.php?src=<?php echo get_post_meta( $post->ID, "thumbs", true ); ?>&amp;w=225&amp;h=144" alt="<?php the_title(); ?>"  class="borderimg" /></a> </p>

Si utilizaras el último ejemplo brindado, en donde aparece otro campo mas para la URL personalizada, insertamos “imglink” de nombre al campo y al lado la URL en cuestión.

Espero les sirva!

Todo sobre el NextGEN Gallery

screenshot-1aUna de las cosas mas llamativas del NextGEN gallery, es que se popularizó tanto su manejo para las imagenes, que muchos plugins insteresantes para WordPress ofrecen integraciones completas con sus galerías. Es muy versatil, simple de utilizar y tiene ampliaciones en cuanto al muestreo de imagenes que lo hacen aún mas atractivo.

Para empezar a usarlo con nuestro WordPress, lo primero que debemos hacer es descargarlo desde wordpress.org en NextGEN Gallery Plugin y podemos ir descargando el JW Image Rotator que es el que nos permite utilizar la opción de Flash slideshow en nuestros albumes.

Este contenido debe ir dentro de wp-content/plugins/nextgen-gallery y tienen los pasos de instalación en castellano junto con una guía de uso. El NextGEN Gallery, nos ofrece varios widgets personalizables en tamaño y selección de imagenes para utilizar en nuestras sidebars.

Si queremos dar un paso mas en el muestreo de nuestras galerías, busquemos descargar el complemento NextGEN-ImageFlow  (imagen 1 del artículo) que nos mostrará la galería de un modo mas dinámico. Pueden ver un demo en la página del autor y la instalación es sencilla. Deben subir la carpeta nextgen-imageflow dentro de wp-content/plugins y recordar que los archivos reflect2.php y reflect3.php deben ir al raiz de WordPress. El tag para agregar galerías en los artículos, una vez seteado todo a nuestro gusto, es [imageflow id="GALLERY-ID"]

Si queremos ampliar aún mas los muestreos de nuestra galería, el NextGEN-FlashViewer nos va a ser de utilidad.

screenshot-1b

Luego de descomprimir el zip y subirlo a la carpeta de plugins, deberemos crear otra carpeta para acceder a galerías mas sofisticadas: wp-content/plugins/nggflash-swf. Luego ingresamos a http://www.airtightinteractive.com/viewers/ y descargamos cuatro viewers:

El SimpleViewer se descarga de este link. Su tag es [simpleviewer id="GALLERY-ID" width="WIDTH" height="HEIGHT" link="LINK"]

sv

El TiltViewer se descarga de este link y pueden ver su demo aquí. Su Tag es [tiltviewer id="GALLERY-ID" width="WIDTH" height="HEIGHT" link="LINK"]

tv

El AutoViewer se descarga de este link y pueden ver su demo aquí. Se puede desplegar en un tamaño menor como muestra este demo. Su tag es [autoviewer id="GALLERY-ID" width="WIDTH" height="HEIGHT" link="LINK"]

untitled

Finalmente el PostcardViewer se descarga de este link y pueden ver su demo aquí. Su Tag es [pcviewer id="GALLERY-ID" width="WIDTH" height="HEIGHT" link="LINK"]

pcv

Debemos renombrar  viewer.swf del directorio Postcard Viewer a pcviewer.swf. Luego podremos subir los cuatro archivos swf. Este último plugin tiene integración con flickr.

Bastante completo no?

Hermoso y sencillo javascript TinySlideShow

javascriptDesde leigeber.com siempre podemos ver material de calidad, en este caso nos trae una hermosa galería de imagenes con un slider para seleccionar la imagen deseada. Si no hay acción por parte del usuario, las imagenes correran solas, y tenemos disponible la opción de agregar un texto descriptivo.

Vean el demo de la galería para que no les queden dudas sobre lo que digo. Ahora veamos como se pone en marcha esto. El código lo descargan desde el site del autor en TinySlideShow 

Deben subir los dos archivos .js para que funcione, y tienen un ejemplo con imagenes cargadas en el zip para que puedan basarse en él.

<ul id="slideshow">
<li>
<h3>Image One</h3>
<span>photos/image-one.jpg
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam ut urna. Mauris nulla. Donec nec mauris. Proin nulla dolor, bibendum et, dapibus in, euismod ut, felis.</p>
<a href="#"><img src="thumbnails/image-one.jpg" alt="Image One" /></a>
</li>
<li>
<h3>Image Two</h3>
<span>photos/image-two.jpg</span>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam ut urna. Mauris nulla. Donec nec mauris. Proin nulla dolor, bibendum et, dapibus in, euismod ut, felis.</p>
<img src="thumbnails/image-two.jpg" alt="Image Two" />
</li>
</ul>

El autor nos señala que cada li representa a una imagen, el h3 es el título de la imagen y p la descripción (el texto que aparece debajo). Con las etiquetas span indicamos la ruta a la imagen en tamaño completo. Finalmente en el site mencionado encontrarán los valores que pueden cambiar para modificar el modo en que se ven las imagenes (velocidad del show, transparencia, colores) desde el archivo javascript.

Es un complemento muy liviano para añadir a una web.

TinySlideShow