008:表示用サブループ設置
公開日:2020年11月06日
メインループとサブループ
アクセスしたページのURLからページ情報を取得したデータを使うループをメインループと呼びます。
サブループはテーマ制作者が任意の条件で表示する為に追加したループを指します。
表示用サブループ
連想配列で指定した条件をもとにデータベースから情報を取得します。
条件用連想配列と情報取得
<?php $args = [ 'post_type' => 'post', 'posts_per_page' => 6, ]; $the_query = new WP_Query($args); ?>
ループ開始
<?php /***** サブループ開始 *****/ ?> <?php if ($the_query->have_posts()) : ?> <?php while ($the_query->have_posts()) : ?> <?php $the_query->the_post(); ?>
ループ終了
<?php endwhile; ?> <?php endif; ?> <?php wp_reset_postdata(); ?> <?php /***** サブループ終了 *****/ ?>
制御構文
<?php
// 条件を連想配列で指定
$args = [
'post_type' => 'post',
'posts_per_page' => 6,
];
// データベースから条件に応じたページ情報を取得して変数に代入(サブループデータ)
$the_query = new WP_Query($args);
// サブループデータがページ情報をもっているか確認
if ($the_query->have_posts()) {
// サブループデータがページ情報をもっている分だけ繰返し処理
while ($the_query->have_posts()) {
// サブループデータから1件分のページ情報を$post変数にセット
$the_query->the_post();
// WordPress関数でページ内容を表示
}
}
// サブループデータによって上書きされた$postをメインループの$postの状態に復元
wp_reset_postdata();
?>
サブループ用条件
ページ情報表示用関数
| 関数名 | 内容 |
|---|---|
| the_title() | タイトル表示 |
| the_excerpt() | 抜粋文表示 |
| the_content() | 本文表示 |
| the_time(‘Y年m月d日’) | 投稿日表示 |
| the_permalink() | ページのURLを表示 |
このページで出てくる関数
WordPress関数は「公式サイトのドキュメント」で確認しましょう。
WordPress関数
同じカテゴリーのコンテンツ