はじめに、今回メインクエリとサブクエリについてよくWordPress学習当時は理解できなかったので、わかりやすくまとめてみました。WordPress専門エンジニアやサーバーサイドエンジニアとは違うため、多少言い方が良くない点等ありましたら、その点ご了承いただけると幸いです。
メインクエリとは・・・
今回はメインクエリとサブクエリの違いについてまとめてみました。
わかりやすいようにまずは、ページが呼び出される仕組みを図解しました。
パソコン上でURLをリクエストした際に、そのページURLのデータをサーバーへリクエストします。
※「データを取得してください」といったようにデータベースに送る命令をクエリといいます。
その後、サーバーから、該当ページのデータをDB(データベース)から検索して、サーバーへ返します。
例えば、固定ページの場合は、固定ページのデータが返ってきます。
つまり、メインクエリでは、下記の様に該当ページに対して、該当のデータがリクエストして返ってくるわけですね。
- 記事一覧ページ → 記事一覧ページのデータ
- 固定ページ → 固定ページのデータ
サブクエリとは・・・
サブクエリでは、メインクエリ以外の値を取り出します。
そのため、先程メインクエリで説明したように、固定ページの場合で記事ページのデータを取り出すことは、メインクエリではできません。
✕ 固定ページ → 記事一覧ページ
○ 固定ページ → 固定ページ
固定ページでは固定ページのデータをとってくるからです。
ですので、そのような場合は、サブクエリを使います!
つまり、固定ページではメインループでデータを取り出そうとすると、固定ページの内容が返ってくることになるので、記事一覧を固定ページで表示させるためには、サブクエリで呼び出すというのが必要ということですね。
フロントページのメインクエリは、何の値がかえってくるのか?
では、フロントページで、メインクエリは何の値が返ってくるでしょうか?
それは実は管理画面で設定されています。 下記図を御覧ください。
(管理画面 → 設定 → 表示設定 →最新の投稿)
ここで注目が最新の投稿となっていることです。つまり投稿記事が出力されることになるわけです。
ちなみに、投稿というのは投稿記事のことです。こちらは、名称変更することもできますが、 名称をかえてもこの部分は変わらないため、デフォルトで最初から用意された投稿記事のことと認識しておきましょう!