2016-04-27 12 views
1

私はワードプレスでこのループが必要ですが、私は純粋なPHPにもOKだと思います。私は私のDIVを交互に必要 は、私はこのようsomethinkていますPHPが「安全な」最初の要素と交替する

// Here I getting total count of posts - return as INT, ex. 4 
$countOffers = wp_count_posts('offer')->publish; 

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

    <?php if ($countOffers % 2 == 0): ?> 
     // Align to left side 
     <?php get_template_part('template-parts/Offer/content', 'left'); ?> 
    <?php else: ?> 
     // Align to right side 
     <?php get_template_part('template-parts/Offer/content', 'right'); ?> 
    <?php endif ?> 

    <?php $countOffers--; ?> 
<?php endwhile; ?> 

それは細かい作業だが、私は左側の第1の要素を「確保」したいと思います。
これは、返すアイテム数に関係なく、常に最初のアイテムになります。

+0

は、あなただけの 'floatを追加することはできますか? – WillardSolutions

答えて

1

これにカウンタ変数を使用します(この例では$counter)。 whileループの各反復で、$counterが2で割り切れるかどうかをチェックし、それに応じて要素を揃えます。

あなたのコードは次のようにする必要があります。これらの要素にleft`」:

$countOffers = wp_count_posts('offer')->publish; 
$counter = 1; 
<?php while ($the_query->have_posts() && $counter <= $countOffers) : $the_query->the_post(); ?> 

    <?php if ($counter % 2 != 0): ?> 
     // Align to left side 
     <?php get_template_part('template-parts/Offer/content', 'left'); ?> 
    <?php else: ?> 
     // Align to right side 
     <?php get_template_part('template-parts/Offer/content', 'right'); ?> 
    <?php endif ?> 

    <?php ++$counter; ?> 
<?php endwhile; ?> 
関連する問題