尝试将查询拆分为六个部分

时间:2014-01-20 作者:John Doe

我有一个返回所有自定义帖子的查询,我试图将所有帖子分成六个部分,然后将它们包装在一个列表项中。

现在,它的表现应该是正常的,但当它到达12个岗位时,它就中断了,他们总共有40个岗位。我不知道有人能帮上什么忙。

<?php 

        $args = array(
            \'post_type\' => \'portfolio\',
            \'posts_per_page\' => -1                
        );

$loop = new WP_Query( $args ); while ( $loop->have_posts()) : $loop->the_post(); ?>

<?php if($count === 1 ): echo "<li>"; endif; ?>

    <?php if($count % 7 == 0 ): echo "<li>"; endif; ?>
     <div class="portfolio">
        <?php the_post_thumbnail(\'portfolio-large\'); ?>
        <div><?php the_excerpt(); ?></div>
        <a href="<?php the_permalink(); ?>" style="color:#fff;">more info</a>
    </div>

<?php if($count % 6 == 0 ): echo "</li>"; endif; ?>

<?php endwhile; wp_reset_query(); ?>

3 个回复
SO网友:Jeff Rose

我认为您的方法是正确的,但您遇到了“每页posts\\u”问题。

在查询中,使用“posts\\u per\\u page=-1”返回所有帖子(假设这是您想要的)。我猜你的网站目前设置为在设置->阅读区域显示每页12篇文章。

http://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters

SO网友:Gareth Gillman

你能用offset 查询中的属性,例如。

 $query = new WP_Query( \'posts_per_page=6\' ) );
 $query2 = new WP_Query( \'posts_per_page=6offset=6\' ) );
基本上,您将执行2个查询,在查询1中执行6个帖子,然后在查询2中再次执行6个帖子,但添加6个偏移量,这将跳过前6个帖子,以便它们不会重复。

SO网友:John Doe

我发现我wp_reset_query(); 在我调整偏移计数器的循环中间,我也改变了

<?php if($count === 1 ): echo "<li>"; endif; ?>
<?php if($count % 7 == 0 ): echo "<li>"; endif; ?>
to <?php if($count % 6 == 0 ): echo "<li>"; endif; ?>

解决了我的问题。

结束

相关推荐

我可以同时拥有front-page.php和index.php吗?

我做了一个定制的头版。php,其中包括“循环”,它工作得很好。我还想有一个单独的页面,这是你从索引中获得的常规旧帖子页面。php。如何使页面引用索引。php?我试着去外观->自定义和设置静态首页,但是主页上的“循环”停止工作,所以这不是解决方案。