Webサイトの構成パーツごとにテンプレート化する | SkillhubAI(スキルハブエーアイ)

Webサイトの構成パーツごとにテンプレート化する

1.テンプレートとは

htmlファイルは基本的に1ファイル=1Webページ分です。

file

blog-index.htmlblog-single.htmlを作った時には、サイドバー部分のコードをコピーして貼り付けましたよね。 HTMLの場合は同じ内容を表示するにしても、それぞれのファイルに記述が必要だった形です。

 

しかし、WordPressは、1ページを構成するパーツを分割しておくことが出来ます。

file

  • headerはheader.php
  • footerはfooter.php

というように、それぞれ別のファイルに分割することができます。 分割したファイルを組み合わせて1枚のページとして書き出すのです。

 

私たちが今作っているフォルダ全体の事を「テーマ」と呼ぶのに対し、テーマを構成するパーツであるindex.phpやheader.phpは「テンプレート」もしくは「テンプレートファイル」と呼ばれています。

  • テーマ→作成中のファイル一式(フォルダ全体)
  • テンプレート→フォルダの中にある各々のファイル

というイメージを持っていただくと分かりやすいです。

2.各部位をテンプレート化しよう

では、作成したindex.phpから共通で使うパーツを抜き出してテンプレート化し、index.phpでそれを読み込むという形を作ってみましょう。

footer.php

一番わかりやすいfooter部分から分けていきましょう。 ファイルを新規作成し「footer.php」と名前を付けて保存します。

file

 

index.phpにある<footer>から下を全てfooter.phpへカット&ペーストします。

index.phpの<footer>を切り取った部分には、footer.phpを読み込ませるため以下のWordPressタグ(インクルードタグ)を挿入します。

<?php get_footer(); ?>

footer.php

index.php

 

それぞれ保存して、ブラウザでWordPressの表示を確認してみましょう。

file

ページ下部に「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(); ?>

file

それぞれのファイルを保存し、ブラウザで確認。 特に変化なく、今まで通りに表示されていれば成功です。

sidebar.php

最後にsidebar.phpを作ります。

file

index.phpの<aside></aside>までをカット&ペーストします。 (コーディングが異なる場合はご自身のサイドバー部分を抜き出してください)

index.phpのサイドバーを切り取った箇所には下記インクルードタグを挿入します。

<?php get_sidebar(); ?>

保存してブラウザで表示を確認しましょう。 エラーが出ず、index.phpを切り分ける前と同じように表示されていれば完了です。

まとめ:ここまでに作成したファイル

以下4つのテンプレートファイルが作成できているか、ご確認ください。

  • index.php
  • header.php
  • footer.php
  • sidebar.php

file

補足

上記のheaderやfooter以外にも、オーソドックスなテンプレートファイルに対しては、あらかじめWordPresでインクルードタグが決められています。

また、規定のテンプレートファイル以外のphpファイルを作って、以下のコードを使うことでインクルードすることも出来ます。

<?php include("インクルードするPHPファイルのパスを記述"); ?>