WordPressでテンプレートを作成して固定ページに適用する

固定ページの作成
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

WordPressで固定ページを読み込む際、コンテンツ以外の部分(ヘッダー、フッター、サイドバーなど)はテンプレートを読み込んで表示しています。大抵のテーマではテンプレートとしてpage.phpが用意されており、こちらが利用されています。

しかし、HPを運用していると、「この固定ページにはサイドバーはいらない!」、「ここには広告をつけたい!」、「PHPで動的に一部表示したい!」など、ページごとに異なった機能が欲しくなることもあると思います。そういった場合は別にテンプレートを用意し、それを読み込むように設定する必要があります。

そこでこの記事では、固定ページがどのテンプレートを利用して表示されているのか、どのようにしてテンプレートを変更するかについて説明します。

もし固定ページの作り方がわからない場合は、以下のページを参考にしてみてください。

https://wpmake.jp/contents/beginner/main-page/

テンプレート階層

WordPressではテンプレート階層というものがあり、ページを読み込む際、どのファイルを優先的に読み込むかが決められています。固定ページでは以下の優先度でファイルが読み込まれます。

  1. カスタムテンプレートファイル(任意の名前)
  2. page-{slug}.php
  3. page-{id}.php
  4. page.php
  5. singular.php
  6. index.php

page.phpは優先度が低めになっています。上の階層でテンプレートファイルを設定しておけばそちらを読み込むように設定できることがわかります。

カスタムテンプレートファイルを使用してテンプレートを読み込む

プログラムの先頭に「Template Name」を設定することで、ファイル名関係なくテンプレートとして設定できるようになります。今回は名前を「固定ページのテンプレート」にして設定していきます。

上記のようにファイルに「Template Name」を設定すると、以下のように管理画面の投稿の属性に固定ページの属性にテンプレートという項目が追加されます。

先ほど設定した「固定ページのテンプレート」が選択できるようになっています。これを選択すれば適用されます。

「Template Name」を設定しておけば、どの固定ページからも読み込むことができます。
一つのテンプレートを複数の固定ページに使い回すことができるために非常に便利です。

page-***.phpを利用

***にはページのスラッグやページのIDを入れることができます。こちらはファイル名でテンプレートであることを示しているため、「Template Name」の設定は必要ありません。

page.phpを利用

既存テーマを使用する場合、大抵デフォルトで入っています。WordPressを導入してから特にいじっていない場合、こちらのファイルがテンプレートとして使用されているかと思われます。

singular.phpを利用

こちらはWordPress4.3から新たに追加されたファイルです。page.phpがない場合に読み込まれます。このファイルは投稿ページ用テンプレートとして使用されているsingle.phpファイルが存在しない場合に読み込まれるファイルでもあります。つまり、投稿ページと固定ページのテンプレートを同じにしたい場合、わざわざ二つテンプレートファイルを作らなくてもsingular.phpを1つ作ればどちらからも読み込まれるようになるということです。投稿ページと固定ページで同じデザインにしたい場合はぜひ使用してみてください。

まとめ

当記事では固定ページにテンプレートを適用する方法を説明しました。固定ページごとにテンプレートを使い分ける際は参考にしてください!

その開発、弊社に外注しませんか?

WordPress専門の制作会社
「wp.make」

お見積もりのご依頼やご相談など、まずは下記フォームよりお問い合わせください。

WordPressでのサイト開発を専門に行う弊社が、どのような内容にもお答えさせて頂きます。