Tại sao get_posts chỉ hiển thị năm bài đăng (được truy xuất bằng cách gán một danh mục cho chúng?


9

Đây là liên kết

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

Đây là mã:

<?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(); ?>

Nó chỉ lấy các bài đăng với danh mục Trang thoại (Cột trái) và Trang thoại (Cột phải). Tôi đã có hơn 5 bài viết trong danh mục đó, trang này chỉ hiển thị 5:

nhập mô tả hình ảnh ở đây

Câu trả lời:


23

Nếu bạn xem get_posts tài liệu trên Codex , bạn có thể thấy có một tham số cho số lượng bài đăng bạn muốn hiển thị:

$ numberposts (số nguyên) (tùy chọn) Số lượng bài viết để trả về. Đặt thành 0 để sử dụng số lượng bài viết tối đa trên mỗi trang. Đặt thành -1 để xóa giới hạn.

Mặc định: 5

Đó là lý do tại sao nó chỉ hiển thị 5 bài viết. Bạn cần thêm tham số vào mảng args của bạn:

$args = array(
    'category_name' => 'Voice Page (Right Column)', 
    'orderby' => 'DESC', 
    'posts_per_page'=>-1, 
    'numberposts'=>-1
);

Cũng từ Codex,Note: 'numberposts' and 'posts_per_page' can be used interchangeably.
tehlivi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.