¿Por qué get_posts solo muestra cinco entradas (recuperadas al asignarles una categoría)?

26 ene 2011, 16:16:45
Vistas: 22K
Votos: 11

Aquí está el enlace

http://www.brianfunshine.com/voice-work/voice-page/

Este es el código:

<?php
/**
 * Nombre de la Plantilla: Voice Page (Dos Columnas)
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>


<?php breadcrumb(); ?>

<?php // este es el bucle principal ?>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>

<div class="top-column">

    <div class="post">

        <h2 class="post-title">
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        </h2>

        <div class="entry">
            <?php the_content(); ?>
        </div>

        <div class="post-meta-data">
            <?php wp_link_pages('before=<p>'.__('Páginas:','options').'&after=</p>'); ?>
        </div>

    </div>

    <?php endwhile; ?>

<?php else: ?>

    <p><?php _e('Lo sentimos, ninguna entrada coincide con tus criterios.','options'); ?></p>

<?php endif; ?>

</div><!-- .top-column -->

<div class="left-column">

<?php // recuperar una lista de entradas con la categoría Voice Audio Demos
$args = array('category_name' => 'Voice Page (Left Column)', 'order' => 'DESC', 'posts_per_page'=>-1);
$customposts = get_posts($args);
foreach($customposts as $post) : setup_postdata($post); ?>

    <div class="post">

        <h2 class="post-title">
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        </h2>

        <div class="entry">
            <?php the_content(); ?>
        </div>

    </div>

<?php endforeach; ?>

</div><!-- .left-column -->

<div class="right-column">

<?php // recuperar una lista de entradas con la categoría Voice Audio Demos
$args = array('category_name' => 'Voice Page (Right Column)', 'orderby' => 'DESC', 'posts_per_page'=>-1);
$customposts = get_posts($args);
foreach($customposts as $post) : setup_postdata($post); ?>

    <div class="post">

        <h2 class="post-title">
            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        </h2>

        <div class="entry">
            <?php the_content(); ?>
        </div>

    </div>

<?php endforeach; ?>

</div><!-- .left-column -->

<?php get_footer(); ?>

Solo recupera entradas con la categoría Voice Page (Left Column) y Voice Page (Right Column). Tengo más de 5 entradas en esa categoría pero la página solo muestra 5:

Captura de pantalla mostrando solo 5 entradas en la página de WordPress

0
Todas las respuestas a la pregunta 1
1
26

Si revisas la documentación de get_posts en el Codex, puedes ver que hay un parámetro para el número de publicaciones que deseas mostrar:

$numberposts (entero) (opcional) Número de publicaciones a devolver. Establece en 0 para usar el número máximo de publicaciones por página. Establece en -1 para eliminar el límite.

Por defecto: 5

Por eso solo muestra 5 publicaciones. Necesitas agregar el parámetro a tu array de argumentos:

$args = array(
    'category_name' => 'Voice Page (Right Column)', 
    'orderby' => 'DESC', 
    'posts_per_page'=>-1, 
    'numberposts'=>-1
);
26 ene 2011 16:26:29
Comentarios

También del Codex, Nota: 'numberposts' y 'posts_per_page' pueden usarse indistintamente.

tehlivi tehlivi
24 mar 2017 17:20:12