循环3按列发布,并将循环继续到相同的列

时间:2017-11-20 作者:jaya558

我想了解一些关于如何实现以下senario的信息。谁能帮帮我吗。

好的,这是我目前得到的。

我有两种自定义的帖子类型。我正在拉&;合并要随机加载的对象。它们随机加载,并交替使用post类型。

例如:1类岗位、2类岗位、1类岗位、2类岗位等。。

到目前为止,我已经做到了这一点。现在,在加载帖子时,我希望将其分为3列(砌体格式)。

<div class="row">
            <div id="grid-content">
            <?php
            // Fetch quotes
            $quotes_query = new WP_Query( array(
                \'post_type\'=> \'quote\',
                \'orderby\' => \'rand\',
                \'posts_per_page\' => 4,
            ) );

            // Fetch founders
            $founders_query = new WP_Query( array(
                \'post_type\'=> \'founder\',
                \'orderby\' => \'rand\',
                \'posts_per_page\' => 3,
            ) );

            // List of merged founder and quotes
            $mergedposts = array();

            for ( $i = 0; $i < 10; $i++ ) {
                // Add quotes to list
                if ( isset( $quotes_query->posts[ $i ] ) ) {
                    $mergedposts[] = $quotes_query->posts[ $i ];
                }

                // Add founder to list
                if ( isset( $founders_query->posts[ $i ] ) ) {
                    $mergedposts[] = $founders_query->posts[ $i ];
                }
            }

            foreach( $mergedposts as $post ) :
            setup_postdata($post);
            ?>
              <div class="col-md-4 col-sm-6 col-xs-12 foundersnetwork_col">
                <div class="foundersnetwork_list">                          
                    <?php if ( get_post_type( get_the_ID() ) == \'quote\' ) { ?>
                      <div class="foundersnetwork_content" style="background-color: <?php the_field(\'background_color\'); ?>;">
                          <h4><?php the_field(\'quote_data\'); ?></h4>
                      </div>
                    <?php } ?>

                    <?php if(get_post_type( get_the_ID() ) == \'founder\'){ ?>
                      <div class="foundersnetwork_img"><?php the_post_thumbnail(\'full\'); ?></div>
                    <?php } ?>
                </div>
              </div>
          <?php endforeach; ?>
        </div>
        </div>
但第4个帖子必须归入第1栏,第5个帖子必须归入第2栏,第6个帖子必须归入第3栏,以此类推。。

示例:

<div class="col1">
post 1
post 4
post 7
</div>
<div class="col2">
post 2
post 5
</div>
<div class="col3">
post 3
post 6
</div>
****已更新****

找到了解决方案。这并不完全是我想要的,但这会起到作用,因为无论其他帖子如何,第四名都会落在第一名之下—https://bootsnipp.com/snippets/featured/pinterest-like-responsive-grid

现在这个问题解决了。感谢所有在这方面花费时间的人。

2 个回复
SO网友:Jacob Peattie

如果那样的话col-4 类执行示例所建议的操作,然后将每个帖子包装在col-4 将达到同样的效果:

<div class="col-4">
Post 1
</div>
<div class="col-4">
Post 2
</div>
<div class="col-4">
Post 3
</div>
<div class="col-4">
Post 4
</div>
<div class="col-4">
Post 5
</div>
<div class="col-4">
Post 6
</div>
那么您根本不需要对WP\\u查询执行任何特殊操作。

SO网友:Pratik bhatt

您可以按如下方式使用:

   $query = new WP_Query( array(
        \'post_type\'      => \'post\',
        \'order\'          => \'DESC\',
        \'post_status\'    => \' publish\',
        \'posts_per_page\' => 3
    ) );

    while ($query->have_posts()): $query->the_post();
    echo"<div class="col-4">";
        the_title();
    echo"</div>";
    endwhile;
   wp_reset_postdata();
您可以检查一下,如果您成功实现了目标,请告诉我。

结束

相关推荐

Show the excerpt in a loop

我想用这个循环显示最后3篇文章。这很有效,但我不知道为什么,但摘录总是一样的。我做错了什么? <?php $args = array( \'numberposts\' => \'3\' ); $recent_posts = wp_get_recent_posts( $args ); foreach( $recent_posts as $recent ){ ?> <div class=\"