サポート » 使い方全般 » 三つ並ぶボックスを1セットとし、それぞれにclassを指定する処理の繰り返

  • 投稿記事のアーカイブページで下記の様に出力したいと考えています。

    ①div class=”left”,”center”,”right”を出力したら</div><!– /.col3Box –>で閉じる
    ②また新たに<div class=”col3Box”>を出力して①の処理を行う
    これを繰り返す構文が分からずにいます。

    <div class=”col3Box”>
    <div class=”left”>
    <div class=”workBox”>
    ここに本文とか書く(the_contentとか)
    </div><!– / .workBox –>
    </div><!– / .left –>

    <div class=”center”>
    <div class=”workBox”>
    ここに本文とか書く(the_contentとか)
    </div><!– / .workBox –></div>
    </div><!– / .center –>

    <div class=”right”>
    <div class=”workBox”>
    ここに本文とか書く(the_contentとか)
    </div><!– / .workBox –>
    </div><!– / .right –>
    </div><!– / .col3Box –>

    <div class=”col3Box”>
    <div class=”left”>
    <div class=”workBox”>
    ここに本文とか書く(the_contentとか)
    </div><!– / .workBox –>
    </div><!– / .left –>

    個別では次の構文で出力できました。

    </div><!– /.col3Box –>で閉じて、新たに<div class=”col3Box”>を出力

    <?php if (have_posts()) : ?>
    <?php $post_count = 1;
    echo ‘<div class=”col3Box”>’ . “\n”;
    ?>
    <?php while (have_posts()) : the_post(); ?>
    <?php if ( $post_count % 3 == 1 && $post_count != 1 ) { echo ‘</div>’ . “\n” . ‘<div class=”col3Box”>’ . “\n”; }
    ?>
    <?php $post_count++; ?>
    <?php endwhile; ?>
    <?php echo ‘</div>’ . “\n”; ?>
    <?php else : ?>
    <?php endif; ?>

    div class=”left”,”center”,”right”を出力

    <?php
    $box_name=array( ‘left’, ‘center’ , ‘right’ );
    $cnt = 0;
    ?>

    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <?php $chk = $cnt % 3; ?>
    <div class=”<?php echo $box_name[$chk]; ?>”>

    ここに本文(the_content)

    </div>
    <?php $cnt++; ?>
    <?php endwhile; ?>
    <?php endif; ?>

    これらを繋げて、または別の方法でも構わないので求める形を出力したいです。
    アドバイスをお願いします。

  • トピック「三つ並ぶボックスを1セットとし、それぞれにclassを指定する処理の繰り返」には新たに返信することはできません。