サポート » テーマ » ループ部分 3つのエントリーの横並び出力について

  • 解決済 aruearoe

    (@aruearoe)


    3エントリーを横並びにし、3番目の記事の場合マージンを0にしたクラスを適用し出力したいのですが、なかなかうまくいきません・・、いろいろ調べて下記のコードを作成したのですが、うまく出力できません。PHP初心者なりにがんばったのですが行き詰ってしまいました。PHP、プログラムのわかる方ご教授いただけないでしょうか、何卒よろしくお願いいたします。

    ※以下、作成したsingle.phpのソースです。

    <?php get_header(); ?>
    
    <!--contents_S-->
    <div id="contents">
    
    <?php $count = 1; //ループ回数を入れる変数 ?>
    
    <!--paragraph_S-->
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    <?php
    	//3番目だったらclass=right0、それ以外はクラスなし
    	if ($count%3 == 0) {
    			echo '<div class="paragraph_right">';
    		} else {
    			echo '<div class="paragraph_left">';
    		}
    	?>
    <img src="images/paragraph_01.jpg" width="265" height="9"><br>
    <?php if(has_post_thumbnail()) { echo the_post_thumbnail(); } ?>
    <br>
    <h3>
    <img src="images/icon_01.gif" width="29" height="16" align="absmiddle">
    <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>">
    <?php the_title(); ?>
    </h3>
    <img src="images/paragraph_ber.gif" width="247" height="7"><br>
    <div class="date_box"><?php the_time('Y.m.d.') ?></div>
    <div class="txt_box">
    <?php echo get_the_excerpt(); ?>
    </div>
    <img src="images/paragraph_ber.gif" width="247" height="7"><br>
    <div class="category"><?php the_category(', ') ?></div>
    <div class="more_link"><img src="images/ber_02.gif" width="11" height="25" border="0" align="absmiddle"><?php the_content('⇒詳細はこちら'); ?></div>
    <img src="images/paragraph_ber_02.gif" width="247" height="7"><br>
    <div class="bookmarks"><img src="images/icon_02.gif" alt="BOOKMARKS >>" width="65" height="11">
    <br>
    <?php the_category(', ') ?>
    </div>
    <br>
    <img src="images/paragraph_03.jpg" width="265" height="18">
    </div>
    <!--paragraph_E-->
    <?php $count++; //最後にループ回数を一つ進める ?>
    
    <?php endwhile; else: ?>
    	<p><?php _e('no post'); ?></p>
    <span class="nav-previous"><?php next_posts_link('古い記事へ') ?></span>
    <span class="nav-next"><?php previous_posts_link('新しい記事へ') ?></span>
    <?php get_search_form(); ?>
    <?php endif; ?>
    <!--paragraph_S-->
    <br clear="all">
    
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • あってる気がしますが。
    どうにうまくいかないのですか?

    トピック投稿者 aruearoe

    (@aruearoe)

    何度もプログラムを見直したんですが、表示が3つずつにならず
    下記のような表示のまま、、
    —-
    1234
    5678
    —-

    ソースをみるとすべてクラスが
    <div class="paragraph_left">
    のままになっており、、正常に動作していない様子。

    WordPress記事ループの中で、ループした回数をどこかで取得する必要があるのでしょうか

    single.php?
    query_posts() もないし、single.php ならば、ポストは一つのはずです。

    index.php か アーカイブ系のテンプレートに見えますが、
    修正しているテンプレートと表示しているテンプレートが違っているのでは?
    (このテンプレートが index.php や category.php なら正しく表示されそうな予感)

    $count は正しいんじゃないでしょうか。

    ウチも眺めてみたけど、あってる気がするなぁ。気になるのは

    <div class="bookmarks"><img src="images/icon_02.gif" alt="BOOKMARKS >>" width="65" height="11">
    

    この行のBOOKMARKSの後ろの「>>」ぐらい。

    トピック投稿者 aruearoe

    (@aruearoe)

    kvexさん / pluto1234さん / V.J.Catkickさん ご確認いただきありがとうございました

    >>single.php?
    >>query_posts() もないし、single.php ならば、ポストは一つのはずです。
    >>
    >>index.php か アーカイブ系のテンプレートに見えますが、
    >>修正しているテンプレートと表示しているテンプレートが違っているのでは?

    WPも初心者で呼び出されているデータがどれとどれなのか今一度確認し、リトライしてみたいと思います!WPテーマを自分で自由自在に作成してみたく現在奮闘中でした。

    いまは今混乱中ですのでっ頭をリセットし明日またチャレンジしてみますっ

    アドバイス本当に感謝いたします

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「ループ部分 3つのエントリーの横並び出力について」には新たに返信することはできません。