投稿の個別ページごとにテンプレートを変える「Single Post Template」

WordPressを使っていて、ページによってレイアウトやデザインを変えたいということもあります。

固定ページであれば、レイアウトやデザインを変更した任意のカスタムテンプレートを作成し、サーバー上の[themes]フォルダ内の任意の場所にアップロードし、ファイル内にテンプレート名を指定してやれば、以下のように固定ページの編集画面右の[ページ属性]→[テンプレート]のプルダウンから変更したいテンプレートを選択できます(固定ページのテンプレートの変更方法は、ページごとにヘッダー、サイドバー、フッター部分だけ変更するを参照)。

ページ属性

しかし、投稿の個別ページでは編集画面を見ても、このようなテンプレートを変更できる項目がありません。

つまり、WordPressのデフォルトでは、投稿記事の個別ページごとにテンプレートを変更できないのが現状です。

そこで、個別ページごとにレイアウトやデザインを変更したいという場合に役立つプラグインが「Single Post Template」です。

「Single Post Template」の使い方

プラグインのインストール

WordPressの管理画面のメニューの[プラグイン]→[新規追加]で検索ボックスに「Single Post Template」と入力し、検索ボタンをクリックします。

検索結果の中から同名のプラグインを選択し、[有効化]します。

プラグインの設定は特に必要なく、これで準備は完了です。

変更したいテンプレートの準備

個別ページのテンプレートは、一般的には「index.php」もしくは「single.php」を使用していることと思います。

これとは別に、変更したい内容を記載したテンプレートファイルをローカルで作成します。

名称は、固定ページのカスタムテンプレートのように任意のファイル名で大丈夫でした。

ここでは便宜上、「template-01.php」とします。

この「template-01.php」を、サーバー上の[themes]フォルダの中の現在使用している「index.php」もしくは「single.php」ファイルと同じ階層にアップロードします。

これだけでは、まだ完了ではありません。

次に、WordPressの管理画面のメニューの[外観]→[テーマ編集]画面を開きます。

すると、先ほどアップロードした「template-01.php」という項目がありますので、このファイル名をクリックして、編集領域に展開します。

そして、そのファイルの中の一番先頭部分に以下内容を記述します。

<?php
/*
Single Post Template: 任意の名称
*/
?>

上記記述の「Single Post Template: 任意の名称」の下に、Description:を記述している記事もありますが、Description:は特に記述しなくても大丈夫でした。

また、上記「任意の名称」部分は、必ずしもファイル名と同じでなくてもよく(上記例ですとtemplate-01など)、また日本語でも英字でもどちらでも構いません。

ただし、テンプレートを選択する際、プルダウンメニューに表示されるので、あとで判別がつくような名称が好ましいと思います。

ここまでで、使えるようになったと思います。

実際に変更してみる

WordPressの管理画面の[投稿]の[新規追加]で記事作成画面を開いて見ます。

すると、以下のように、記事記述欄の下に「Single Post Template」という箇所が新たに表示されるようになります。

その中のプルダウンメニューをクリックすると、先ほど「template-01.php」ファイルの先頭部分に記述した「任意の名称」が選択肢として表示されるようになりました。

プルダウン

この新たに追加されたテンプレートを選択し、公開すれば変更したいデザインになっていると思います。

なお、すでに公開している記事の編集画面を開いても、同じように選択肢が表示されていますので、公開済みの記事のテンプレートを後から変更することもできます。