Wordpress - 限制帖子数量

时间:2014-05-23 11:37:20

标签: php wordpress

如何修改此代码以限制页面上3个帖子的数量?它取自Wordpress模板。在此先感谢您的帮助!

<?php 
            if ( get_query_var('paged') ) {
                    $paged = get_query_var('paged');
            } elseif ( get_query_var('page') ) {
                    $paged = get_query_var('page');
            } else {
                    $paged = 1;
            }
            $alt_args  = array(
                'ignore_sticky_posts' => 1,
                'paged' => $paged
            );
            $alt_posts = new WP_Query($alt_args);
        ?>

        <?php if ( $alt_posts->have_posts() ) : ?>

<?php while ( $alt_posts->have_posts() ) : $alt_posts->the_post(); ?>

<?php get_template_part( 'content', 'alt-homepage' ); ?>

<?php endwhile; ?>


<?php wp_reset_postdata(); ?>

                <?php else : ?>
<article id="post-0" class="post no-results not-found">
                    <header class="entry-header">
                        <h1 class="entry-title"><?php _e( 'Nothing Found', 'wp-jurist' ); ?></h1>

2 个答案:

答案 0 :(得分:1)

设置posts_per_page参数:

$alt_args  = array(
            'ignore_sticky_posts' => 1,
            'paged' => $paged,
            'posts_per_page' => 3
        );

有关详细信息,请参阅http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters

答案 1 :(得分:0)

虽然不是正确的做法,但这可行:

<?php 
$i = 0;
while ( $alt_posts->have_posts() && $i < 3 ) {
    $i++;
    $alt_posts->the_post(); 
    get_template_part( 'content', 'alt-homepage' );
} ?>

上面的代码会将proccessed元素的最大值限制为3.只需更改while部分,它就会运行。无论如何,正确性是has_post()方法可以选择限制检索的元素数量,然后只显示元素。