SummArg | Cursos y recursos para webmasters

23/10/2012

Insertar en el bucle por categoría un link al primer adjunto que encuentre en la entrada

En nuestro caso puntual que nos tocó resolver, necesitamos construir una tabla en donde se muestre el título de la entrada, su texto y un link a un archivo adjunto. Las entradas corresponden a la categoría que estemos visualizando, por lo que nuestro código se colocará en category.php.

Construir una tabla con diversos datos de nuestras entradas es muy sencillo, pero ¿cómo podemos linkear al primer archivo adjunto de cada una de esas entradas?

Para ello, dividimos el código en dos bucles, uno dentro del otro. El primer bucle simplemente se encarga de buscar las entradas de determinada categoría y añade el parámetro para paginar correctamente. Comenzamos a construir las celdas de nuestra tabla y en una de las celdas dejamos el espacio para el segundo bucle.

<table>
 <?php
 $cat = get_query_var('cat');
 query_posts( array(
 'cat' => $cat,
 'posts_per_page' => 10,
 'paged' => get_query_var('paged')
 )
 );
 while (have_posts()) : the_post(); ?>
 <tr>
 <td><strong><?php the_title();?></strong></td>
 <td><?php the_content(); ?></td>
 <td><--! Aquí irá el código del bucle que busca el adjunto --></td>
 </tr>
 <?php endwhile;?>
 </table>

El código que debemos usar dentro de la celda que dejamos vacía es el siguiente:

<?php $args = array(
'order' => 'ASC',
'post_type' => 'attachment',
'post_parent' => $post->ID,
'post_status' => null,
'numberposts' => 1,
);
$attachments = get_posts($args);
if ($attachments) {
foreach ($attachments as $attachment) {
//echo apply_filters('post_title', $attachment->post_title);
echo '<a href="'.get_attachment_link($attachment->ID).'"><img src="pdf.png" /></a>';
}
}
?>

Dicho bucle se encarga de buscar el primer adjunto que encuentre y genera un link con una imagen para la descarga del mismo, recuerden mirar el codex (ver get_posts) en donde verán mas parámetros con el que pueden especificar, por ejemplo, tipos específicos de adjuntos a buscar con post_mime_type.

Dejar un comentario

  1. Información Bitacoras.com…

    Valora en Bitacoras.com: En nuestro caso puntual que nos tocó resolver, necesitamos construir una tabla en donde se muestre el título de la entrada, su texto y un link a un archivo adjunto. Las entradas corresponden a la categoría que estemos visu……

Dejar un comentario