WordPress循环交替行和列每两个帖子与bootstrap

时间:2018-02-18 15:56:32

标签: php wordpress

我想为wordpress创建一个循环,返回其自己的div中的每两个帖子,并在每个新行交替列(参见示例)...我没有在php中进行过多的实验来实现这一点。我没有设法让它适当地工作。如果它没有另一列,请查看如何使最后一个div为100%宽度。

我很感谢你的支持,因为我尝试了很多东西但仍然没有运气。 (我使用可视化作曲家引导类,它确实有效,但没有预期。这是我想要创建的例子

enter image description here

这是我的代码:

 <?php 
$args = array(
    'posts_per_page' => '-1',
    'post_type'     => 'inversion',
    'category_name' => '',
    'order'         => 'DESC',
    'orderby'       => 'DATE'
);

$the_query = new WP_Query( $args );?>

<?php if ( $the_query->have_posts() ) :  ?>
<div class="vc_row">
    <?php while ( $the_query->have_posts() ) : $the_query->the_post();  $i++; $imagen = get_the_post_thumbnail_url(get_the_ID(),'full');  ?>



  <?php if(($i % 2) == 2) :  ?>

            <div class="vc_col-sm-6">


                            <div class="vc_row vc_row-fluid">
                                 <div class="vc_col-sm-6 cont-izq">
                                     <h3><?php the_title(); ?></h3> 
                                 </div>
                                 <div class="vc_col-sm-6 cont-der" >
                                    <a class="click-info">Más Información</a>
                                        <div class="img-dentro kenburns-top" style="background:url(<?php echo $imagen; ?>)no-repeat; background-size:cover;">

                                        </div>
                                 </div>

                         </div>
                        </div>   


<?php else : ?>

                             <div class="vc_col-sm-6">


                            <div class="vc_row vc_row-fluid">

                                 <div class="vc_col-sm-6 cont-der" >
                                    <a class="click-info">Más Información</a>
                                        <div class="img-dentro kenburns-top" style="background:url(<?php echo $imagen; ?>)no-repeat; background-size:cover;">

                                        </div>
                                 </div>
                                  <div class="vc_col-sm-6 cont-izq">
                                     <h3><?php the_title(); ?></h3> 
                                 </div>

                         </div>
                        </div>   

<?php endif; endwhile;  ?>
</div>

<?php endif; ?>

<?php wp_reset_query();  ?>

1 个答案:

答案 0 :(得分:0)

[编辑]试试这个:

<?php
$args = array(
    'posts_per_page' => '-1',
    'post_type'      => 'inversion',
    'category_name'  => '',
    'order'          => 'DESC',
    'orderby'        => 'date',
);

$the_query = new WP_Query( $args );
?>

<?php if ( $the_query->have_posts() ) :  ?>
    <div class="vc_row">
        <?php
            $float_class = '';
            while ( $the_query->have_posts() ) :
                $the_query->the_post();

                if ( $the_query->current_post &&
                $the_query->current_post % 2 === 0 ) {
                    $float_class = $float_class ? '' : 'vc_pull-right';
                }

                $imagen = get_the_post_thumbnail_url( get_the_ID(), 'full' );
        ?>
            <div class="vc_col-sm-6">
                <div class="vc_row vc_row-fluid">
                    <div class="vc_col-sm-6 cont-der <?php echo $float_class; ?>">
                        <a class="click-info">Más Información</a>
                        <div class="img-dentro kenburns-top" style="background:url('<?php echo esc_url( $imagen ); ?>') no-repeat; background-size:cover;">
                        </div>
                    </div>
                    <div class="vc_col-sm-6 cont-izq">
                        <h3><?php the_title(); ?></h3>
                    </div>
                </div>
            </div>
        <?php endwhile; // end have_posts() loop ?>
    </div><!-- .vc_row -->
<?php endif; // end have_posts() check ?>

<?php wp_reset_query(); ?>