WordPressで特定の投稿記事&固定ページのテンプレートを変更する方法
WordPressでは投稿ページ(記事ページ)を表示させるのは single.php で固定ページを表示させるのは page.php など、表示に関して一定のルールがあります。例えば「固定ページだけは3カラムを2カラムにしたい」という場合であれば、page.php をカスタマイズすれば良いわけですね。
でも「投稿記事ページの特定のページだけテンプレートを変更したい」「固定ページで作成した“お問い合わせページ”だけ違うテンプレートで表示させたい」という場合はどうすればよいでしょうか?
このような特定のページだけ異なるテンプレートを使用して表示を変えることは可能です。このページでは投稿ページと固定ページのそれぞれで、テンプレートを変更して表示させる方法をご紹介致します。
1. 固定ページ編
まずは簡単な、特定の固定ページだけテンプレートを変える方法です。通常固定ページの表示は page.php が使用されているので、ご自身がお使いのテーマファイルの中に page.php があるかご確認ください。
見つけたら page.php を複製(コピー)して page-2.php のように「page-**.php」としてください。「**」の部分は半角英数字であれば任意で入れてOKです。今回の例では「page-contact」としました。
その複製したファイルをメモ帳等で開いてください。開いたら様々なコードが記載されていると思いますが、一番上に下記のコードを入れてください。
<?php /* Template Name:お問い合わせ */ ?>
「お問い合わせ」の部分はこのテンプレートの名前になる部分なので何でも構いません。
できたらこのファイルをアップロードしてください。固定ページの編集画面に[テンプレート]として[お問い合わせ]の項目が表示されました。これを選択すれば「page-contact.php」が表示にしようされます。あとはこのファイルを好きなようにカスタマイズすればOKです!
2. 投稿記事ページ編
投稿ページのテンプレートも固定ページと同じように複製してコードを入れればできるのではないかと思いますよね。しかし残念ながら、投稿ページは固定ページのようにコードを入れるだけではテンプレートを個別に変更することができません。『Single Post Template』というプラグインを使用します。
2-1. プラグインのインストール
プラグインの新規追加、もしくは下記ページからプラグインをインストール&有効化してください。
>Single Post Template
2-2. 複製とコードの挿入
『Single Post Template』のインストールと有効化ができたら、特に設定等は必要ありません。後は single.php を page.php と同様に複製&コードの挿入をすればOKです!
まず single.php を複製して「single-**.php」としてください。「**」の部分は任意の半角英数字でOKです!
複製したファイルをメモ帳等で開き、一番上に下記のコードを入れてください。
<?php /* Single Post Template: 広告非表示 */ ?>
上記「広告非表示」の部分は任意の名前にしてください。
コードを入れたらファイルをアップロードします。投稿ページの編集画面に[Single Post Template]として[広告非表示]の項目が表示されました。
これで固定ページだけでなく、投稿ページもテンプレートを個別に変更することができるようになりました!