Una de las más fáciles técnicas para crear varios Loops en el índice de nuestro Blog (y diseñar así distintamente para un grupo de posts primero, los “recomendados”, y para otro grupo después), es con el siguiente código :
<div class="principal">
<?php
query_posts('showposts=8');
$ids = array();
while (have_posts()) : the_post();
$ids[] = get_the_ID();
the_title();
the_content();
endwhile;
?>
</div>
Estamos convocando aquí a los 8 últimos posts, sin distinguir nada más, pero, dentro del paréntesis, podemos usar también category_name=nombre-de-la-categoría o aún cat=catID, donde catID es un número (el número que se le asignará a la categoría en nuestra base de datos), seguido por el signo ‘&’.
query_posts('category_name=cine&showposts=8');
Más abajo en nuestro índice, supongamos que queremos crear una simple lista, menos trabajada estéticamente que ése hipotético primer loop, y queremos, a su vez, evitar que se nos duplique el contenido. Ahí vamos :
<div class="secundario">
<?php
query_posts(array('post__not_in' => $ids));
while (have_posts()) : the_post();
the_title();
the_content();
endwhile;
?>
</div>
Debido a que ‘query_posts’ es una de las mejores formas para acceder selectivamente a nuestra base de datos, lo usaremos tanto en el primer loop como en el segundo, especificando en éste último que nos excluya los posts que desplegamos en primer lugar, en base a su ID (numérica, pedida en el primer loop … y almacenada para su uso).
No dudéis en dirigir vuestras dudas para todo esclarecimiento.



7 comentarios
01/09/2009
Hola, No me funciona tu script, mi template se va a blanco.. estas seguro que esta bien?..
01/09/2009
Osea, lo que hago es formatearlo con mi diseño, entonces cuando cierro el codigo al final me toma como texto el endwhile;?> Y justo que necesitaba 2 loop en mi index..
01/09/2009
Retiro lo dicho.. si funciona, soy un estupido…
01/09/2009
Saludos Juan Pablo, en el post escribí todos los tags de WP bajo una misma declaración de php, seguro que fue eso, que lo hace incómodo para un copiar-pegar rápido. Voy a cambiarlo en cuanto pueda. Gracias por pasarte!
15/06/2010
Hola que tal saludos!
Estoy trabajando en un sitio media para un sitio en el cual coloco los ultimos audios, videos y mas descargados en el header, y los posts de las categorias en el index, y todo funciona bien, pero a la hora de querer ver las entradas en single.php se confunde con los posts de los ultimos audio y videos y me manda todos.
Intente con tu codigo y nada, que podria ser??
15/08/2010
Hola, muy buenas.
Soy un poco nuevo en esto del codigo PHP y
estoy intentando personalizar una plantilla.
En la plantilla de la pagina principal tengo un código que me saca los últimos posts y quiero antes de eso, hacer que salga solo un post de una determinada categoría (con otro estilo), que llevaría un embed de Vimeo. Quiero hacer que salga todo el contenido de dicho post, y he probado con query_post, pero no consigo nada.
Alguien, me podría ayudar?
El código que tengo para mostrar los últimos posts es este:
<div class="span-8 post- last”>
array( ‘thumbnail’ ), ‘default_size’ =>
‘thumbnail’, ‘width’ => ’310′, ‘height’ => ’150′ ) ); ?>
<a href="” rel=”bookmark”
title=”Permanent Link to “>
Espero que alguien sepa como hacerlo, le estaré muy agradecido! :)
Gracias!
14/01/2011
He leído varias veces este artículo pero no acabo de ver la forma de implementar dichos loops en mi página principal.
Uf !
Trackbacks
Deja tu comentario