Почему get_posts показывает только пять записей (при выборке по категории)?

26 янв. 2011 г., 16:16:45
Просмотры: 22K
Голосов: 11

Вот ссылка

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

Вот код:

<?php
/**
 * Название шаблона: Voice Page (Two Columns)
 * @package WordPress
 * @subpackage Twenty_Ten
 * @since Twenty Ten 1.0
 */

get_header(); ?>


<?php breadcrumb(); ?>

<?php // это основной цикл ?>
<?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>'.__('Страницы:','options').'&after=</p>'); ?>
        </div>

    </div>

    <?php endwhile; ?>

<?php else: ?>

    <p><?php _e('Извините, записей не найдено.','options'); ?></p>

<?php endif; ?>

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

<div class="left-column">

<?php // получить список записей из категории 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 // получить список записей из категории 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(); ?>

Он просто получает записи с категориями Voice Page (Left Column) и Voice Page (Right Column). У меня более 5 записей в этой категории, но страница показывает только 5:

описание изображения

0
Все ответы на вопрос 1
1
26

Если посмотреть документацию get_posts в Codex, можно увидеть параметр для количества отображаемых записей:

$numberposts (integer) (необязательный) Количество записей для возврата. Установите 0 для использования максимального числа записей на странице. Установите -1 для снятия ограничения.

По умолчанию: 5

Вот почему отображается только 5 записей. Вам нужно добавить этот параметр в массив args:

$args = array(
    'category_name' => 'Voice Page (Right Column)', 
    'orderby' => 'DESC', 
    'posts_per_page'=>-1, 
    'numberposts'=>-1
);
26 янв. 2011 г. 16:26:29
Комментарии

Также из Codex, Примечание: 'numberposts' и 'posts_per_page' могут использоваться взаимозаменяемо.

tehlivi tehlivi
24 мар. 2017 г. 17:20:12