21:メインループでカテゴリー一覧を表示
公開日:2019年07月14日
更新日:2019年07月18日
表示用メインループ
WordPressはURL内のスラッグ(ページ固有のキーワード)から対象のページを特定してデータベースから情報を取得します。
http://localhost/WordPressフォルダ名/category/カテゴリースラッグ/
上記のURLの場合は該当するカテゴリー一覧の情報をデータベースから取得し、メインループデータにセットします。
ループ開始
<?php /***** メインループ開始 *****/ ?> <?php if (have_posts()) :?> <?php while (have_posts()) : the_post(); ?>
ループ終了
<?php endwhile; ?> <?php endif; ?> <?php /***** メインループ終了 *****/ ?>
制御構文
<?php // スラッグ(URL)をもとにデータベースから条件に応じたページ情報を取得(メインループデータ:暗黙データ) // メインループデータがページ情報をもっているか確認 if (have_posts()) { // メインループデータがページ情報をもっている分だけ繰返し処理 while (have_posts()) { // メインループデータから1件分のページ情報を$post変数にセット the_post(); // WordPress関数でページ内容を表示 } } ?>
表示用メインループに置き換え
プロフィールパーツをメインループに置き換えます。
category.php
変更前
<div class="flex-item"> <a href="single.html"> <div class="image"> <img src="img/thumbnail.jpg" alt="ブログタイトル"> </div> <div class="item-title">HTML基本タグ</div> <div class="item-text">HTMLの基本構想と記述ルールについてまとめています。</div> <div class="item-date">2019年05月05日</div> </a> </div><!-- .flex-item --> : <div class="flex-item"> <a href="single.html"> <div class="image"> <img src="img/thumbnail.jpg" alt="ブログタイトル"> </div> <div class="item-title">HTML基本タグ</div> <div class="item-text">HTMLの基本構想と記述ルールについてまとめています。</div> <div class="item-date">2019年05月05日</div> </a> </div><!-- .flex-item -->
変更後のコード
<?php /***** メインループ開始 *****/ ?> <?php if (have_posts()) :?> <?php while (have_posts()) : the_post(); ?> <div class="flex-item"> <a href="<?php the_permalink(); ?>"> <div class="image"> <?php if (has_post_thumbnail()) { the_post_thumbnail('img_300_200'); } else { echo '<img src="'.get_template_directory_uri().'/img/no-image.png" alt="'.get_the_title().'">'.PHP_EOL; } ?> </div> <div class="item-title"><?php the_title(); ?></div> <div class="item-text"><?php the_excerpt(); ?></div> <div class="item-date"><?php the_time('Y年m月d日'); ?></div> </a> </div><!-- .flex-item --> <?php endwhile; ?> <?php endif; ?> <?php /***** メインループ終了 *****/ ?>
ページ情報表示用関数
関数名 | 内容 |
---|---|
the_title() | タイトル表示 |
the_excerpt() | 抜粋文表示 |
the_content() | 本文表示 |
the_time(‘Y年m月d日’) | 投稿日表示 |
the_permalink() | ページのURLを表示 |
このページで出てくる関数
WordPress関数は「公式サイトのドキュメント」で確認しましょう。
WordPress関数
the_permalink() the_post_thumbnail() the_title() the_excerpt() the_time()
表示確認
以下URLにアクセスするとカテゴリー一覧が表示されます。
http://localhost/WordPressフォルダ名/category/カテゴリースラッグ/
該当カテゴリーの一覧が表示されていることを確認しましょう。
※欠席者対応:lesson12 – lesson13
同じカテゴリーのコンテンツ