Learning site for website creation

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();
?>

サブループ用条件

WordPressで記事一覧取得時に使う条件

ページ情報表示用関数

関数名 内容
the_title() タイトル表示
the_excerpt() 抜粋文表示
the_content() 本文表示
the_time(‘Y年m月d日’) 投稿日表示
the_permalink() ページのURLを表示

WordPressよく使う関数

このページで出てくる関数

WordPress関数は「公式サイトのドキュメント」で確認しましょう。

WordPress関数

WP_Query()

the_title()

wp_reset_postdata()