LucyとRuby

WordPress:特定のページに個別のテンプレートを使う方法(固定ページの場合)

WordPressで特定のページだけ別のテンプレートを使いたいという場合があります。その手順を説明します。

固定ページの場合

固定ページの場合は、以下の手順で簡単にテンプレートを差し替えられます。

テンプレートファイルを新規作成

まずはテンプレートファイルを作成します。テーマフォルダの直下にある「page.php」をコピー&複製して「page-〇〇〇.php」という名前のファイルを新規作成してください(〇〇〇の部分は任意)。

冒頭にテンプレート名を記入する

作成した「page-〇〇〇.php」をテキストエディタで開き、冒頭(1行目)に下記のようにテンプレート名を追記して上書保存します。テンプレート名は任意です。ここでは仮に「読込テスト用」としています。

<?php  // Template Name: 読込テスト用  ?>

なお、この冒頭部分以外のテンプレート内容は自由に記述・改変してください。

テンプレートファイルをアップロード

作成した「page-〇〇〇.php」をテーマフォルダ直下の階層(page.phpやindex.phpがある階層)にアップロードします。

固定ページの編集画面でテンプレートを選択する

WordPressの固定ページの編集画面を開くと「ページ属性」の設定欄で、ステップ2で決めたテンプレート名がプルダウンで選択できるようになっています。これを選択して固定ページを更新すると作成したテンプレートが適用されます。

テンプレートを選択

これで固定ページにテンプレートを適用することができました。実際にテンプレートを適用したテストページが下記↓です。

個別テンプレートの読み込み例

スラッグで読み込む方法もある

上の手順では、固定ページの編集画面にて読み込むテンプレートを指定しましたが、その方法以外にも、テンプレートファイル名「page-〇〇〇.php」の〇〇〇を固定ページのスラッグ(urlの一番最後の部分)と同じ文字列にすれば、編集画面でテンプレートを指定しなくても自動でpage-〇〇〇.phpが読み込まれます。

スラッグで一致させる方法は1つのページのみで使用する想定の適用方法ですので、テンプレートを複数のページで共有する場合を考慮すると編集画面からテンプレートを指定する方法の方がベターだと私は考えています。

post no. 339

Comments