循环问题,我想排除最后3

时间:2015-10-16 19:02:52

标签: php wordpress

嘿,我有这个wordpress设置,我不是一个真正的PHP开发人员。我想要实现的是循环排除最后创建的3个帖子。有没有办法去做呢?

            <div class="grid">

                <?php
                // Start the loop.
                while ( have_posts() ) : the_post(); ?>
                    <div class="col-sm-6 col-lg-4">
                        <?php get_template_part( 'content', 'square' ); ?>
                    </div>
                <?php
                // End the loop.
                endwhile; ?>

            </div><!-- .grid -->

            <?php the_posts_pagination( array( 'mid_size' => 2, 'prev_text' => '<span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span>', 'next_text' => '<span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span>' ) );

            // If no content, include the "No posts found" template.
        else :
            get_template_part( 'content', 'none' );
        endif;
        ?>

2 个答案:

答案 0 :(得分:0)

定义一个计算总帖子数的变量($ count = [总帖子数]),然后使用for循环设置$ count-3的最大迭代次数迭代帖子:

for($i=0; $i<($count-3); $i++){
    do something;
}

答案 1 :(得分:0)

像这样的“标准”循环的帖子计数存储在全局$wp_query中。要访问它,您可以使用$GLOBALS['wp_query']->post_count

<?php
// Get the post count and set a counter variable
$count = $GLOBALS['wp_query']->post_count; $i = 0;
while ( have_posts() && $i < $count - 3 ) : the_post(); ?>

    <!-- Post content loop -->

<?php $i++; endwhile; ?>

请注意,只有当您有超过3个帖子时才会有效...