Warum werden in get_posts nur fünf Beiträge angezeigt (abgerufen, indem ihnen eine Kategorie zugewiesen wird?

9

Hier ist der Link

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

Dies ist der Code:

<?php
/**
 * Template Name: Voice Page (Two Columns)
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>


<?php breadcrumb(); ?>

<?php // this is the main loop ?>
<?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>'.__('Pages:','options').'&after=</p>'); ?>
        </div>

    </div>

    <?php endwhile; ?>

<?php else: ?>

    <p><?php _e('Sorry, no posts matched your criteria.','options'); ?></p>

<?php endif; ?>

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

<div class="left-column">

<?php // retrieve a list of posts with category 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 // retrieve a list of posts with category 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(); ?>

Es werden nur Beiträge mit den Kategorien Sprachseite (linke Spalte) und Sprachseite (rechte Spalte) abgerufen. Ich habe mehr als 5 Beiträge in dieser Kategorie, aber auf der Seite werden nur 5 angezeigt:

Geben Sie hier die Bildbeschreibung ein

janoChen
quelle

Antworten:

23

Wenn Sie sich die get_posts Dokumentation zu Codex ansehen , sehen Sie, dass es einen Parameter für die Anzahl der Beiträge gibt, die Sie anzeigen möchten:

$ numberposts (integer) (optional) Anzahl der zurückzugebenden Beiträge. Auf 0 setzen, um die maximale Anzahl von Posts pro Seite zu verwenden. Auf -1 setzen, um das Limit zu entfernen.

Standard: 5

Deshalb werden nur 5 Beiträge angezeigt. Sie müssen den Parameter zu Ihrem args-Array hinzufügen:

$args = array(
    'category_name' => 'Voice Page (Right Column)', 
    'orderby' => 'DESC', 
    'posts_per_page'=>-1, 
    'numberposts'=>-1
);
Fernando Briano
quelle
Auch aus dem Codex,Note: 'numberposts' and 'posts_per_page' can be used interchangeably.
Tehlivi