Como tener un Gallery como el de Ma.tt

Yo considero mi blog, mas un blog de pruebas que temático. Mas sin embargo al ver la gallería de Ma.tt, empezó a buscar una manera de encontrar la forma de mostrar un thumbnail en cada “álbum” pero no la encontré. Así que empecé a desarrollarlo.

Primero que nada, por azares del destino encontré en el código fuente de WordPress que podemos hacer que cada categoría tenga la forma que nosotros gustemos de mostrar los Post.

Simplemente agregamos a nuestra carpeta del Theme un archivo con la siguiente estructura en el nombre:

category-#.php
Donde # es el ID de la categoría. Yo copie lo que tenía mi Index.php

Ó si, eso facilita la vida a todo el mundo, pues podemos hacer que el Loop de Wordpress se muestre a nuestro antojo.

Primero que nada hay que “esconder” de nuestro Loop en el Index principal los post relacionados a la Categoría Galería, podemos usar como referencia el mini-manual de query_post(), si ya escogiste una categoría para que no se mostrara, puede aparecer un error si no lo usas de la manera correcta para que 2 no se muestren :

query_posts(”cat=-#CATEGORY1 , -#CATEGORY2 &paged=$page”); Todo Pegado, y con “,”

Ó si, ya no debe aparecer la categoría uno al principio. Ahora mostrare el código fuente que vamos a agregar en nuestro archivo category-#.php

function imp_img_gallery($id){
$orderby=’menu_order ASC, ID ASC’;
$attachments = get_children(”post_parent=$id&post_type=attachment&…..
post_mime_type=image&orderby=\”{$orderby}\”");
$size=’thumbnail’;

$output = “”;

foreach ( $attachments as $id => $attachment ){

$output .= wp_get_attachment_image($id, $size, true);

break;

}

return $output;
}

Y la mandamos a llamar desde el Loop de la siguiente forma:

<a href=”<?php echo wp_get_attachment_url(the_permalink()); ?>”> <? echo imp_img_gallery(intval($post->ID));?> </a>

El primer echo imprime el link en la foto de nuestro álbum, y el segundo manda a llamar a la imagen. El detalle aqui es el $post->ID, por que llamara la dirección en el que el ciclo del Loop se encuentre.

Este nos mostrara SOLO LA PRIMERA IMAGEN de nuestro Media Library, si bien, Ma.tt tiene un contador de fotos de su álbum, poemos usar el siguiente código al principio del archivo.

function obtain_total_gallery($id){
$attachments = get_children(”post_parent=$id&post_type=attachment&…..
post_mime_type=image&orderby=\”{$orderby}\”");
foreach ( $attachments as $id => $attachment ){
$i++;
}
return $i;
}

Y dentro del Loop, donde queramos que aparezca el Numero lo llamamos de la siguiente forma:

<? echo obtain_total_gallery(intval($post->ID));?>

Y es todo, el mio pueden llamarlo visitando la sección Galería.

Actualización 1: Los 5 “…..” puntos, en el código, se refiere a que la linea de abajo es consecutiva, pegada lo que pasa es que el div de mi theme se salia de control.

05 05 2008
Tags: , , , ,
Otros Post por Mackzter | Posted in » MiniTutoriales

4 Responses to “Como tener un Gallery como el de Ma.tt”

  1. Mackzter Says:

    desde que puse el post :S se hizo mas angosto T___T



  2. Diabliyo Says:

    Que tal compa…. De pura casualidad cuando estuve checando mi ranking en ‘alianzo.com’ te encontre a ti y tu blog, y pues me llamo la atencion porque segun ‘alianzo.com’ eres de Reynosa Tamaulipas (misma ciudad donde resido yo), asi que viendo la tematica de tu blog, me encantaria saber si podemos intercambiar links ??…
    Mi blog es de seguridad informatica, codigo fuente, redes, programacion y noticias informaticas de interes… Espero y puedas darte una vuelta para ver si se hace el cambalache !!…
    Por cierto, lindo blog men !!…
    bye bye



  3. Shane Says:

    Any chance you could translate this tutorial to English?  Is it possible to change the thumbnail size from what it is set to in the admin, to show differently on this Gallery page, but show the set size on the post page?  Thanks!



  4. Mackzter Says:

    Hi Shane, for the moment for me, its impossible to translate this tutorial because i am traveling, and of course i cant access to files for know where is the size statment.

    Maybe you can search some of “variable” $size=’thumbnail’; i put this and i obtaint that size, but i can remember exist small, medium and full.

    if you need help, maybe you cant comment here :)



Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress | Blue Weed by Blog Oh! Blog | Entries (RSS) and Comments (RSS).