De ce get_posts afișează doar cinci articole (recuperate prin atribuirea unei categorii)?

26 ian. 2011, 16:16:45
Vizualizări: 22K
Voturi: 11

Aici este link-ul

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

Acesta este codul:

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

get_header(); ?>


<?php breadcrumb(); ?>

<?php // acesta este loop-ul 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>'.__('Pagini:','options').'&after=</p>'); ?>
        </div>

    </div>

    <?php endwhile; ?>

<?php else: ?>

    <p><?php _e('Ne pare rău, niciun articol nu corespunde criteriilor.','options'); ?></p>

<?php endif; ?>

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

<div class="left-column">

<?php // recuperează o listă de articole din categoria 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 // recuperează o listă de articole din categoria 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(); ?>

Acesta doar recuperează articole cu categoria Voice Page (Left Column) și Voice Page (Right Column). Am mai mult de 5 articole în această categorie, dar pagina afișează doar 5:

Exemplu de afișare limitată la 5 articole în WordPress

0
Toate răspunsurile la întrebare 1
1
26

Dacă te uiți la documentația pentru get_posts pe Codex, poți vedea că există un parametru pentru numărul de articole pe care dorești să le afișezi:

$numberposts (integer) (opțional) Numărul de articole de returnat. Setează la 0 pentru a utiliza numărul maxim de articole pe pagină. Setează la -1 pentru a elimina limita.

Implicit: 5

De aceea sunt afișate doar 5 articole. Trebuie să adaugi parametrul în array-ul tău de argumente:

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

De asemenea, din Codex, Notă: 'numberposts' și 'posts_per_page' pot fi folosite interschimbabil.

tehlivi tehlivi
24 mar. 2017 17:20:12