記事はループのテンプレートタグと組合せる

2020年1月15日 (更新日:2020年4月15日)

記事はループのテンプレートタグと組合せる:記事はループのテンプレートタグと組合せる...


記事はループのテンプレートタグと組合せる

投稿した記事を表示させる<?php the_title(); ?>や<?php the_content(); ?>は投稿したデータベースを参照させなければなりません。以下のループのphpコードの中に記事を表示するphpコードを記述すると投稿した全ての記事を表示します。

 

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

//ここに投稿した記事を表示させるphpコードを記述

<?php endwhile; ?>
      <?php else : ?>
          //記事が無い時にここの文章が表示する
      <?php endif; ?>

このループのコードは投稿した記事を参照する時に必ず使います。
ループのコードはこれだけ覚えて下さい。当面は大丈夫です。
しかも短くてシンプルで覚えやすいですが念のためコピペして使っていきましょう。
今のうちに言っておきますがphpは一文字あるいは1つの記号が間違っていたらブラウザで表示した時に真っ白になります。特にアラートとか出てきません。管理画面にも戻れなくなりますのでプチ・パニックになります。そんな時は慌てずブラウザで戻るで1つ前に戻り、記述したphpコードもMacでいう⌘+Zキーで1つ前に戻るか削除して保存しましょう。

上記を踏まえて具体的に記述してみます。

 

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

        <div class="box1">
          <h3><a href="#"><?php the_title(); ?></a></h3>
          <p><a href="#"><?php echo wp_trim_words( get_the_content(), 20, '...' ); ?></a></p>
        </div>

      <?php endwhile; ?>
      <?php else : ?>

        <div>
          <h6>記事が投稿されていません</h6>
        </div>

      <?php endif; ?>

 
これで記事が表示するようになりました。

このループのコードが最初は難しいと感じるかもしれませんが特に複雑な記述でもありませんし、所謂フレームワーク的な嵌め込む型的な使い方で良いと思います。
後にこのループをベースにして特定のカテゴリーを除外するだとか何番目の記事から表示するとか表示する記事の個数を限定するとかに使っていきます。