1.テンプレートとは
htmlファイルは基本的に1ファイル=1Webページ分です。
blog-index.html
とblog-single.html
を作った時には、サイドバー部分のコードをコピーして貼り付けましたよね。
HTMLの場合は同じ内容を表示するにしても、それぞれのファイルに記述が必要だった形です。
しかし、WordPressは、1ページを構成するパーツを分割しておくことが出来ます。
- headerは
header.php
- footerは
footer.php
というように、それぞれ別のファイルに分割することができます。 分割したファイルを組み合わせて1枚のページとして書き出すのです。
私たちが今作っているフォルダ全体の事を「テーマ」と呼ぶのに対し、テーマを構成するパーツであるindex.phpやheader.phpは「テンプレート」もしくは「テンプレートファイル」と呼ばれています。
- テーマ→作成中のファイル一式(フォルダ全体)
- テンプレート→フォルダの中にある各々のファイル
というイメージを持っていただくと分かりやすいです。
2.各部位をテンプレート化しよう
では、作成したindex.phpから共通で使うパーツを抜き出してテンプレート化し、index.phpでそれを読み込むという形を作ってみましょう。
footer.php
一番わかりやすいfooter部分から分けていきましょう。 ファイルを新規作成し「footer.php」と名前を付けて保存します。
index.phpにある<footer>
から下を全てfooter.phpへカット&ペーストします。
index.phpの<footer>
を切り取った部分には、footer.phpを読み込ませるため以下のWordPressタグ(インクルードタグ)を挿入します。
<?php get_footer(); ?>
footer.php

index.php

それぞれ保存して、ブラウザでWordPressの表示を確認してみましょう。
ページ下部に「Copyright~」などindex.phpから無くなった文言が表示されていれば、フッターのテンプレート化は成功です。
wp_footer()で管理バーを表示
footerにもうひと工夫。
Wordpressが必要な情報(読み込ませたいスクリプト等)を書き出すための場所を作ってあげましょう。
<?php wp_footer(); ?>
このコードを、</body>
タグの直前に入れて下さい。
footer.php

上書き保存、リロードしても特に表示は変わりません。
header.php
同じようにheader.phpも作成しましょう。
index.phpの最上部<!DOCTYPE html>
から、
ナビゲーション終了部分(</header>
タグ)までを切り取ります。
index.phpには以下のインクルードタグを挿入してください。
<?php get_header(); ?>
それぞれのファイルを保存し、ブラウザで確認。 特に変化なく、今まで通りに表示されていれば成功です。
sidebar.php
最後にsidebar.phpを作ります。
index.phpの<aside>
~ </aside>
までをカット&ペーストします。
(コーディングが異なる場合はご自身のサイドバー部分を抜き出してください)
index.phpのサイドバーを切り取った箇所には下記インクルードタグを挿入します。
<?php get_sidebar(); ?>
保存してブラウザで表示を確認しましょう。 エラーが出ず、index.phpを切り分ける前と同じように表示されていれば完了です。
まとめ:ここまでに作成したファイル
以下4つのテンプレートファイルが作成できているか、ご確認ください。
- index.php
- header.php
- footer.php
- sidebar.php
補足
上記のheaderやfooter以外にも、オーソドックスなテンプレートファイルに対しては、あらかじめWordPresでインクルードタグが決められています。
- [ 公式 ] https://developer.wordpress.org/themes/basics/template-tags/
- [ 日本語で見たい方におすすめ ] WordPressのテンプレートタグ一覧(全162種)
また、規定のテンプレートファイル以外のphpファイルを作って、以下のコードを使うことでインクルードすることも出来ます。
<?php include("インクルードするPHPファイルのパスを記述"); ?>