PHP 4-2|WordPressテーマでPHPが使われる場所を見てみる
PHP 4-1では、
「これまで学んできたPHPが、WordPressの中でも使われている」
というところまでつながりました。
今回は、そこからもう一歩だけWordPressテーマの中へ進みます。
テーマのフォルダーを見ると、
header.phpsingle.phppage.phpfooter.phpfunctions.php
など、さまざまなPHPファイルを目にすることがあります。
初めて見ると、
「こんなにPHPファイルがあるの?」
と思うかもしれません。
PHP 4-2のゴール
WordPressテーマの中で、
- どんなPHPファイルを見かけるのか
- それぞれがどんな役割を持つのか
- WordPressが必要なテンプレートを選んで表示すること
を大まかに理解できればOKです。
ファイル名をすべて暗記する必要はありません。
PHP 4-1から、実際のテーマへ進んでみよう
PHP 4-1では、WordPressとPHPの関係を大きな視点で見ました。
今回は、その考え方をテーマの中へ近づけます。
PHPとWordPressの関係を知る
↓
WordPressテーマを見る
↓
PHPファイルごとの役割を見る
↓
表示するページによって使われるファイルが変わることを知る
つまりPHP 4-2では、
「WordPressテーマのどこでPHPが使われているのか?」
を見ていくわけです。
WordPressテーマは1つのファイルだけではない
Webページを作るとき、すべての処理を1つの巨大なファイルへ書くと、だんだん管理が難しくなります。
WordPressテーマでも、役割に応じてファイルを分けて構成する考え方が使われています。
クラシックテーマでは、たとえば次のようなPHPファイルを見ることがあります。
header.phpfooter.phpsingle.phppage.phpindex.phpfunctions.php
テーマによっては、このほかにも多くのPHPファイルがあります。
ですが、PHP 4-2ではこの6つを中心に見てみましょう。

画像を見ると、1つのWordPressサイトを表示するときにも、複数のPHPファイルがそれぞれの役割を持っていることが分かります。
header.php|ヘッダー部分
まずは、
header.php
です。
クラシックテーマでは、サイト上部の共通部分を扱うために使われることがあります。
たとえば、
- サイト名
- ロゴ
- ナビゲーション
- HTMLの上部構造
などです。
記事ページでも固定ページでも同じヘッダーを使いたい場合、毎回同じ内容を書くより、共通部分として分けておいた方が管理しやすくなります。
header.phpのイメージ
ページごとに毎回ヘッダーを書くのではなく、
「共通のヘッダー部分を必要な場所から呼び出す」
ためのファイルと考えると分かりやすいです。
この「共通部分を別ファイルへ分ける」という考え方は、次のPHP 4-3で学ぶ include にもつながっていきます。
footer.php|フッター部分
footer.php
は、その名前からも少し想像しやすいと思います。
クラシックテーマでは、Webページ下部の共通部分などを扱います。
たとえば、
- コピーライト
- フッターメニュー
- サイト下部の案内
- HTMLの終わり側の構造
などです。
header.php
↓
ページごとの内容
↓
footer.php
このように考えると、
「1ページを複数のPHPファイルで組み立てることがある」
というイメージが見えてきます。
single.php|投稿ページ
次は、
single.php
です。
クラシックテーマでは、主に個別の投稿ページを表示するときに使われるテンプレートのひとつです。
たとえば今読んでいるようなブログ記事を表示するとき、そのテーマの構成によって single.php が使われることがあります。
その中では、
- 記事タイトル
- 投稿日
- 本文
- カテゴリー
- アイキャッチ画像
など、投稿に関する情報を表示する処理が書かれます。
ここでPHP 4-1で見た、
the_title()
のようなWordPress関数も登場してきます。
<?php get_header(); ?>
<main>
<h1><?php the_title(); ?></h1>
<div>
<?php the_content(); ?>
</div>
</main>
<?php get_footer(); ?>PHPコードの意味をすべて覚える必要はありません。
ここでは、
「single.phpの中でもPHPとWordPress関数が使われる」
という部分に注目してください。
page.php|固定ページ
page.php
は、クラシックテーマで固定ページを表示するときに使われる代表的なテンプレートです。
WordPressの「投稿」と「固定ページ」は似ていますが、用途が少し違います。
たとえば、
- 会社概要
- プロフィール
- お問い合わせ
- サービス紹介
など、時間順に並べる必要のないページでは固定ページがよく使われます。
index.php|最後の受け皿になる基本テンプレート
次は、
index.php
です。
名前だけを見ると、
「トップページ用なのかな?」
と思うかもしれません。
PHPの普通のWeb制作では index.php が入口として使われることもありますが、WordPressテーマではもう少し特徴があります。
クラシックテーマのテンプレート階層では、より具体的なテンプレートが見つからなかったとき、最終的に index.php が使われます。
たとえばWordPressは、
「これはどんなページなのか?」
を確認しながら、使えるテンプレートを探していきます。
表示したいページを判断する
↓
より適したテンプレートを探す
↓
該当するテンプレートを使う
↓
見つからなければ、より基本的なテンプレートへ進む
↓
最終的にindex.phpが受け皿になることがある
この仕組みは、
テンプレート階層(Template Hierarchy)
と呼ばれます。
名前は少し難しそうですが、
「WordPressが表示するページに合ったテンプレートを探す順番」
と考えると分かりやすいです。
functions.php|見た目のパーツとは少し役割が違う
そしてPHP 4-1でも登場した、
functions.php
です。
header.php や footer.php はページの見た目と関係する部分を想像しやすいですが、functions.php は少し役割が違います。
functions.phpは、テーマへ機能や設定を追加するために使われます。
たとえば、
- テーマ機能の設定
- CSSやJavaScriptの読み込み
- WordPressのフックを利用する
- 独自関数を定義する
- テーマで使う機能を追加する
などです。
ここが大事です
header.php
footer.php
single.php
page.php
などは、
「ページをどう表示するか」
と関係するテンプレートファイルです。
一方、functions.php は、
「テーマへどんな機能や設定を加えるか」
という役割を持っています。
同じPHPファイルでも、役割は同じではありません。
WordPressは必要なテンプレートを選んでいる
ここまでを見ると、
「WordPressは全部のPHPファイルを一度に表示しているの?」
と思うかもしれません。
そういうわけではありません。
WordPressは、アクセスされたページの種類などをもとに、必要なテンプレートを判断します。
たとえば考え方としては、
ユーザーがページへアクセス
↓
WordPressがページの種類を判断
↓
テンプレート階層を確認
↓
適切なテンプレートを選ぶ
↓
必要な処理を行う
↓
ブラウザへページを表示
という流れです。
PHP 4-1で見た、
「WordPressがPHPなどを使って処理し、最終的にブラウザへ表示する」
という仕組みが、ここでさらに具体的になりました。
WordPress 7.1ではブロックテーマも忘れない
ここまで、
header.php
single.php
page.php
などを見てきました。
ただし、ここで1つ重要な補足があります。
現在のWordPressには、
クラシックテーマ
と、
ブロックテーマ
があります。
今回説明しているPHPテンプレートファイルは、主にクラシックテーマを理解するためのものです。
ブロックテーマでは、テンプレート部分に .html ファイルやブロックを使う仕組みが中心になっています。
たとえば、
single.php
ではなく、
single.html
のようなテンプレートを使います。
WordPress 7.1の新しい仕組みを使っていく場合にも、
「自分が今どの種類のテーマを見ているのか」
を意識することが、これからさらに重要になっていきます。
WordPressテーマのPHPを、もう少し実際のコードに近いところまで学びたい方には、『WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第4版]』も参考になります。
PHPの基本だけでなく、テンプレート階層やfunctions.php、クラシックテーマ・ブロックテーマ・子テーマなど、WordPressでPHPを使うときの考え方まで扱っています。
この記事で見てきた「テーマの中でPHPファイルがどのような役割を持っているのか」を、さらに掘り下げたい方はチェックしてみてください。
本番テーマを直接変更する必要はありません
ここまで読むと、
「実際のテーマファイルを開いて変更してみよう」
と思うかもしれません。
ですが、PHP 4-2ではまだ変更しません。
今回は、
見ること・役割を知ること
が目的です。
PHP 4-2では、
「このファイルは何を担当しているのかな?」
と見分けられるようになれば十分です。
PHP 4-2で覚えておきたいこと
ここまで多くのPHPファイルが出てきました。
ですが、全部を暗記する必要はありません。
PHP 4-2で覚えておきたいこと
header.php
→ ヘッダーなどの共通部分
footer.php
→ フッターなどの共通部分
single.php
→ 投稿ページで使われるテンプレート
page.php
→ 固定ページで使われるテンプレート
index.php
→ テンプレート階層の基本的な受け皿
functions.php
→ テーマの機能や設定を追加する
まずはこのくらいの理解で十分です。
分からなくなったら、この記事へ戻って確認すれば大丈夫です。
PHP 4-2のまとめ
今回は、
WordPressテーマのどこでPHPが使われているのか
を見てきました。
クラシックテーマでは、複数のPHPファイルが役割を分担しています。
1つの巨大なPHPファイルですべて処理するのではなく、
「表示する場所や目的ごとにファイルを分ける」
という考え方が使われています。
PHP 4-2のゴール
PHP 4-1
PHPとWordPressがつながった
↓
PHP 4-2
WordPressテーマの中で、PHPがどこに使われているのか見えてきた
そして今回、
header.php
footer.php
のような共通部分が登場しました。
次のPHP 4-3では、この考え方をPHPそのものへ戻して、
「別のPHPファイルを読み込む」
という include の基本を学びます。
これによって、
「なぜファイルを分けるのか?」
という考え方が、さらに分かりやすくなっていきます。
PR:PHP学習の最初の参考書として、必要な方だけ見てください。
記事内の内容だけでも進められますが、手元に1冊あると、
PHPの基本文法やフォーム処理をまとめて確認しやすくなります。
※価格や在庫、版数は変わるため、最終確認はリンク先でお願いします。
あわせて読みたい



PHP 4章の流れ
PHP 4章では、これまで学んだPHPをWordPressにつなげる考え方を学びます。
- PHP 4-1:PHPとWordPressの関係。テーマやfunctions.phpにつながる考え方
- PHP 4-2:WordPressテーマでPHPが使われる場所を見てみる
- PHP 4-3:PHPのinclude。共通パーツを読み込む考え方
- PHP 4-4:PHP学習の次に進む道。WordPress・Laravel・自作ツールへ

