WordPressでは、サイト内のあるページに対する問合せがある度に、そのページがリアルタイムに生成されます。
テーマを構成するファイルのうち、ページ生成の際に関係するのは、関数ファイルテンプレートファイルの2つです。
更にテーマ以外では、プラグインのファイルや、データベース内のデータが組み合わさり、一つのWordPressページが生成されます。
ここでは、WordPressページが生成される流れを、簡単にまとめてみます。

WordPressページ生成の流れ

ここでは流れをシンプルな形で把握できるように、プラグインとテーマの部分に絞って簡略化して解説します。

まずは、最も簡単な例として、テンプレートファイルが1つだけ(index.php)のテーマで説明します。

3-1

サーバにページの問合せがあると、WordPressはまず、有効化されているプラグインを全て読込みます。
テーマよりも先にプラグインを読込む事で、テーマ内でプラグインの様々な機能にアクセスする事ができるのです。

プラグインの次に、テーマの関数ファイルを読込みします。
もし、処理の実行が記述されていれば、即時に実行されます。
多くの場合は、ここでは関数の定義だけをしておいて、後の適切なタイミングで呼出して、処理を実行できるようにしておきます。

ここまでは、どのページかは関係なく、毎回同じ処理が行われます。

次に、ページの初期化が行われます。
ここで初めて、問合せのあったURLを解析して、どのページを表示するのか、どのデータを用いて、どのテンプレートファイルを使用するのかを振り分けます。

ページの初期化が完了し、ようやくテンプレートファイルが読込まれます。
この例では、テンプレートファイルは1つだけなので、テンプレートファイルindex.phpが読込まれます。
このindex.phpに記述されているHTMLおよびPHPが、実際に出力されるページになります。
index.php内では、事前に読込まれているプラグインやテーマ関数ファイルで定義された関数なども使用して、ページを出力します。

以上が、WordPressページ生成の流れとなります。

管理画面の表示

管理画面(ダッシュボード)を表示する場合も、関数ファイルを読込むまでの流れは、上記の場合と同じです。

3.4

管理画面では、テンプレートファイルは使用しませんが、関数ファイルを読込む事で、テーマ独自のカスタマイズ設定が管理画面にも反映されます。

複数のテンプレートファイルを持つテーマ

続いては、複数のテンプレートファイルを持つテーマの例です。

WordPressは、ページ初期化の段階で、どのページを表示するのか(「個別投稿ページ」や「固定ページ」など)を判別し、それに従って使用するテンプレートファイルを決定します。

例えば、http://my-site.com/about/というURLへのアクセスであった場合、ページ初期化の際に「about」という固定ページへのアクセスだと判断します。
前項の例の場合だと、テンプレートファイルはindex.phpしかなかったので、aboutページの表示にもindex.phpを使用しますが、次の例ではpage.phpという固定ページ用のテンプレートファイルが用意されているので、page.phpを使用してaboutページを表示します。

3-2

どのようなページの場合に、どのテンプレートファイルを使用するかは、テンプレート階層という決まりに従っています。
詳しくはWordPress Codexの記事をご覧ください。
テンプレート階層 – WordPress Codex 日本語版

部分テンプレートファイルを持つテーマ

複数のテンプレートファイルがある場合、それぞれのファイルで重複する箇所を、部分テンプレートファイルにする事ができます。

3-3

この例では、テンプレートファイルindex.phpが、部分テンプレートファイルheader.phpfooter.phpをインクルード(読込み)します。
細かい話ですが、WordPressの部分テンプレートは、インクルード元のテンプレートとは変数のスコープが異なります。
これについては次の章で詳しく説明します。部分テンプレートはメインのテンプレートからは独立したパーツだとイメージをしておけば良いかと思います。

次章は、関数ファイル(functions.php)について、詳しく掘り下げます。