Todos los blogs muestran un número limitado de posts en su portada. En Wordpress, esto se configura en el panel de admin y funciona automáticamente en los templates usando El Loop.
Pero esta configuración funciona en todas las secciones del blog. Por lo que si quieres mostrar 20 posts dentro de una sección, pero está configurado para mostrar 10 en portada, tendrás que cambiar El Loop en esa sección.
Como en el tip de mostrar todos los tags en WP, mi caso es con Tia Xime. En TiaXime tenemos dos secciones: Relatos y Consejos. En cada vista de sección quería mostrar la lista entera de posts, sin restricciones.
Código normal de El Loop
En su versión más básica, la que encontrarás en la mayoría de templates de Wordpress:
Código :
<?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <!-- Código de cada post en la lista --> <?php endwhile; ?> <?php endif; ?>
Código modificado de El Loop para posts ilimitados
Código :
<?php $args=array( 'showposts' => -1, ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) : ?> <?php while ($my_query->have_posts()) : $my_query->the_post(); ?> <!-- Código de cada post en la lista --> <?php endwhile; ?> <?php endif; ?>
Con este último código, vemos todos los posts sin limites. Lo que hicimos fue crear un "query" personalizado, una consulta especial donde podemos cambiar los parámetros que usa Wordpress para traer los datos al template.
Lo importante es la variable 'showposts' => -1. Ese -1, que significa ilimitado. Puedes cambiarla por la cantidad de posts que quieras mostrar.
Otra variable en $args que te puede interesar es 'category__in', que te permite sólo cargar posts de una categoría especifica.

Por Claudio el 06 de Agosto de 2010
Saludos
Claudio-blog :
Código :
$args = array( 'caller_get_posts' => 1, 'category__in' => array(2, 5, 6), 'post__not_in' => get_option('sticky_posts') ); query_posts($args);Aun queda get_posts que tiene su propia característica pero es menos intuitivo que usar los anteriores mensionados.
Otaku RzO-blog :
Freddie :
En mi practica, la función get_posts() la he destinado a secciones secundarias o de contenido vago, esto por comodidad pero igual y es cosa de preferencias:
Código :
global $post; foreach($post_arr = get_posts('numberposts=10') as $post): /* setup_postdata($post); */ endforeach;Codex Wordpress :
Important note
The query_posts function is intended to be used to modify the main page Loop only. It is not intended as a means to create secondary Loops on the page. If you want to create separate Loops outside of the main one, you should use get_posts() instead. Use of query_posts on Loops other than the main one can result in your main Loop becoming incorrect and possibly displaying things that you were not expecting.
The query_posts function overrides and replaces the main query for the page. To save your sanity, do not use it for any other purpose.
http://codex.wordpress.org/Template_Tags/query_posts
Por j_aroche el 10 de Agosto de 2010
Obvio esto solo afecta cuando te mueres de exito, si solo te visitan 10 personas no tiene importancia.
Por rod00x3 el 20 de Septiembre de 2010
Por arcki el 04 de Agosto de 2011
<?php endwhile; ?>
<?php endif; ?>
Por MCDUKE el 30 de Noviembre de 2011