MENU

WordPressで記事一覧が表示される仕組み(メインループ)を初心者向けに解説

WordPressで記事の一覧を作ろうと思ったときに調べることになるのが「ループ」です。「ループとはなにか」「どんな種類があるか」「用途」について初心者さんに向けて解説していきます!

目次

ループとは何か

WordPressの「ループ」とは、投稿や固定ページなどのデータを、順番に取り出して表示する仕組みのことです。

たとえば記事一覧ページで、

  • タイトル
  • 投稿日
  • 本文の一部

が繰り返し表示されているのは、この「ループ」が動いているからです。

WordPressでは、「表示する記事を用意する → それを順番に表示する」という処理を、まとめて ループ と呼びます。


メインループとは?

WordPressには最初から用意されているメインループ というものがあります。

これは、

  • トップページ
  • 記事一覧ページ
  • カテゴリーページ
  • 検索結果ページ

などで、「今表示すべき記事はこれです」と WordPress が自動で用意してくれるループです。

テーマ側では、その内容を

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
  <h1><?php the_title(); ?></h1> <!-- 記事のタイトルを取得・表示 -->
  <?php the_content(); ?> <!-- 記事の本文を取得・表示 -->
<?php endwhile; endif; ?>

のように書くだけで表示できます。

初心者のうちは、
「記事一覧が出ている=メインループが動いている」
と考えてOKです。


メインループでできること

メインループはとても便利で、

  • 記事一覧を表示できる
  • タイトル・本文・アイキャッチを表示できる
  • ページネーションも自動で対応

など、普通のサイト表示に必要なことは一通りできます。

そのため、「とりあえず表示するだけ」ならメインループだけで問題ありません。


ただし、メインループには制限がある

ここが重要なポイントです。

メインループはWordPressが決めた条件に従って表示するループなので、次のようなことは簡単にできません。


並び順を自由に変えたい

たとえば、

  • 更新日ではなく、古い順に並べたい
  • 特定のカスタムフィールド順で並べたい

こういった場合、
メインループでは自由に制御できません。


表示件数をページごとに変えたい

設定画面では「1ページに表示する最大投稿数」を指定できますが、

  • トップは5件
  • 下層ページでは3件
  • サイドバーでは最新3件

のように場所ごとに表示件数を変えることは、メインループだけでは難しいです。


特定の条件の記事だけを表示したい

たとえば、

  • このカテゴリの記事だけ表示したい
  • 特定タグの記事を除外したい
  • 人気記事だけを表示したい

こういった細かい条件指定も、メインループには向いていません。


「こういう時」は別の方法が必要になる

ここで登場するのが サブループ という考え方です。

サブループとは、

  • メインループとは別に
  • 自分で条件を指定して
  • もう一つループを作る

という方法です。
つまり、

  • メインループ:WordPressが用意した標準の表示
  • サブループ:開発者が意図的に作る表示

という役割分担になります。


サブループが必要になる典型例

初心者でもイメージしやすい例を挙げます。

  • トップページの下に「最新記事3件」を表示したい
  • サイドバーに「人気記事一覧」を出したい
  • 特定カテゴリの記事だけを別枠で表示したい

こうしたケースでは、メインループとは別のループが必要になります。

このときに使われるのが
WP_Query などを使ったサブループです。


まとめ:まずは「役割の違い」を理解しよう

  • ループとは「記事を順番に表示する仕組み」
  • メインループは「WordPressが自動で用意する表示」
  • メインループは便利だが、自由度は高くない
  • 並び順・件数・条件を変えたい時はサブループが必要
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次