Para mejorar el theme de nuestro blog WordPress, una de las cosas más vistosas y funcionales que últimamente se esá poniendo muy de moda son los thumbnails para los posts - podríamos decir que son una imagen que asociamos a un post para identificarlo. Nos ofrecen diferentes ventajas:
Nos dan más libertad en el diseño en cuanto a que la imagen no tiene que estar dentro del contenido del post.
Nos dan más libertad en el diseño en cuanto a que la imagen se puede adaptar en dimensiones a donde la queramos poner. Esto quiere decir que en el home del blog la imagen puede ser de 125px x 125px y en la página del post 200px x 200 px.
Nos "obligan" a currarnoslo para poner una imagen como mínimo para cada post - según se cuenta esto es bastante importante.
Escojer la imagen que se mostrará por defecto si no insertamos un thumbnail a un post. insertamos la URL de la imagen y listos.
Escojer el formato de los thumbnails. Así, si por ejemplo subimos una imagen en PNG, podemos convertirla en JPG para mostrarla. Podemos escojer convertirlas en JPG, PNG o GIF (se recomienda la primera para fotos). En nuestr ejemplo vamos a usar 200px x 200px
Escojer la altura y ancho de los thumbnails a la hora de guardarlos. Luego se podrán modificar a la hora de mostrarlos.
Cómo subir los thumbnails
A la hora de escribir o editar un post en el panel de administración de WordPress, una vez instalado el plugin, encontraremos una nueva caja para subir el archivo desde nuestro ordenador o desde una URL ¡Más sencillo imposible!
Insertar los thumbnails en el diseño de nuestro blog
Miren la parte de nuestro código en que se muestra un post en el index.php de nuestro blog. Imaginemos que queremos mostrar su thumbnail a la izquierda a un tamaño de 125x125 (aunque anteriormente hemos configurado que los thumbnails serían guardados a 200x200). El código original que teníamos era:
Siguiendo con el ejemplo anterior, y poniendo la imagen a la izquierda, lo que hacemos, es obtener la URL de una imagen relacionada a un post x ($post->ID), de altura y ancho 125 px, añadirle el nombre del post (alt="<?php the_title_attribute(); ?>") y posicionarlo a la izquierda:
Este código iría en la línea de guiones del código inicial. Sencillo, ¿verdad?
Y quedaría un poco feo - el diseño ya era feo de por si...
Pero vamos a ir un poco más allá. Como supongo que sabréis, el archivo single.php es el se encarga de la página de los posts - el que crea los permalinks, por así decirlo. Lo que vamos a hacer es que en esta página el thumbnail se ponga a la izquierda con unas dimensiones de 200px x 200 px. lo que veíamos originalmente en esta página (en la parte del post) es lo siguiente:
La parte original del post en esta página es:
Código :
<div class="post" id="post-<?php the_ID(); ?>">
<h2><?php the_title(); ?></h2>
-----------------------------------------------------------------------------------------------------------
<?php the_content('<p>Read the rest of this entry »</p>'); ?>
<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
<?php the_tags( '<p>Tags: ', ', ', '</p>'); ?>
<p>
This entry was posted
<?php $entry_datetime = abs(strtotime($post->post_date) - (60*120)); echo time_since($entry_datetime); echo ' ago'; ?>
on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
and is filed under <?php the_category(', ') ?>.
You can follow any responses to this entry through the <?php post_comments_feed_link('RSS 2.0'); ?> feed.
<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
// Both Comments and Pings are open ?>
You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(); ?>" rel="trackback">trackback</a> from your own site.
<?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
// Only Pings are Open ?>
Responses are currently closed, but you can <a href="<?php trackback_url(); ?> " rel="trackback">trackback</a> from your own site.
<?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
// Comments are open, Pings are not ?>
You can skip to the end and leave a response. Pinging is currently not allowed.
<?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
// Neither Comments, nor Pings are open ?>
Both comments and pings are currently closed.
<?php } edit_post_link('Edit this entry','','.'); ?>
</p>
</div>
Supongo que ya tendréis claro que insertaríamos aquí... Obviamente:
Espero que hos haya gustado mi primer articulo. Realmente lo he hecho para ver que tal cuaja un post de este tipo. A lomejor tendría que probar con un screencast. Sea como fuere, decirme que tal hos ha parecido.
Un poco técnico, pero realmente bueno tu post. Te felicito jackbach, bastante bueno. Relevante para mi que estoy lanzando Tia Xime y los thumbs fue uno de los problemas que tuvimos.
Gracias. Con los campos personalizados también se puede hacer, pero es más código... Por:jackbach
a mi no me sale la ventana para editar un post en el panel de administración de WordPress como explicas en "Cómo subir los thumbnails".
estoy ya desesperado. jajaja
Un abrazo y muchas gracias Por:Javier-blog
Ya lo veo, es que estaba abajo del todo.
Gracias de nuevo Por:javi-blog
ya lo hice, pero no funciona, mi pagina es www.autos-carros.com, estoy con el theme autoslug, y no consigo despues de una semana que salgan las fotitos en cada posts que añado, solo me sale la que viene por defecto.
Despues me tocara pelear, para que Recent Articles tambien funcione. Lo bueno es que dos cositas ya consigue que funcionara. Por:javi-blog
Hola javi-blog!
Para empezar, tengo que decir que han habido diferentes actualizaciones del plugin que no he investigado, aunque no creo que hayan modificado nada de lo que pone en el tip. Si no han cambiado nada te recomiendo que te asegures de que el código de la imagen está dentro del loop de posts, como muestro en el tip.
Por otra parte puedes investigar lo que decia de las actualizaciones en la página del plugin que dejé... Por:jackbach
Hola @jackbach, como estas???
u
Me gustaria saber si a esa imagen luego quiero ponerle un borde, que tendria que escribir en la linea que ya tienes para que salga con este borde.
Muchas gracias. Por:vladycid-blog
Saludos.
Disculpa, tengo un problema.
Ahorita estoy probando el plugin en un host gratuito, 000webhost, ya inserte el codigo: <img src="<?php echo p75GetThumbnail($post->ID, 125, 125); ?>" alt="
<?php the_title_attribute(); ?>
" /> dentro del codigo del post, pero al momento de abrir la pagina, la imagen no sale, sino que es representada por el titulo del post, una vez que intento ver la imagen, me sale el siguiente error unas 5 veces:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/www/blog/wp-content/thumbnails/16.jpg) is not within the allowed path(s): (/home/:/usr/lib/php:/tmp) in /home/a6500798/public_html/blog/wp-content/plugins/simple-post-thumbnails/timthumb.php on line 599
A que crees que se deba? Por:Fernando-blog
Hola... Tengo problemas con la instalación del Pluging, ya que a pesar de que se cómo hacerlo... Subo la carpeta con mi FTP pero no me sale en la lista de plugins de Wordpress... No sé que hacer. Por:Fairy-blog