WordPress カスタム投稿タイプでカスタムページテンプレートを使用する方法

WordPress カスタム投稿タイプでカスタムページテンプレートを使用する方法

WordPress でカスタム投稿タイプでカスタムページテンプレートを使用する方法を紹介します。
例えば、カスタム投稿タイプで各投稿ごとに違うテンプレートを指定したい場合に便利な方法です。

  1. ページテンプレートとは?
  2. ページテンプレートの特徴
  3. カスタムページテンプレート
    1. カスタム投稿タイプでカスタムページテンプレートを使用する方法

ページテンプレートとは?

通常サイトのデザインは統一されたものを使用しますが、特定のページによってはデザインを変える必要もあります。
そんなときにページテンプレートを使用するとデザインを簡単に変えることができます。

ページテンプレートの特徴

WordPress で固定ページを表示する場合、テーマ内にある特定の命名規則に沿ったファイルを使用してページを表示する機能が備わっています。
例えば、製品情報(スラッグ:product、ID:123)と言うページがあった場合に、
ファイル名
・page-{slug}.php(例えば製品情報の場合:page-product.php)
・page-{ID}.php(例えば製品情報の場合:page-123.php)
を優先的に選択してページを表示します。仮にこの二つがない場合は
・page.php
を使用してページを表示します。

カスタムページテンプレート

先に紹介した方法とは別に、名前に縛られず任意のファイルをテンプレートに指定できる「カスタムページテンプレート」と言う機能が存在します。
例えば、複数のページで同じデザインのページを表示したい場合、次のコードをテンプレートファイルの冒頭に追加することで、ページ属性のテンプレートとして選択することができるようになります。

<?php
/*
Template Name: カスタムページ
*/
?>

カスタム投稿タイプでカスタムページテンプレートを使用する方法

この機能は、以前は固定ページでしか使用できなかった機能ですが、WordPress 4.7 以降ではポストタイプを指定できるようになり、カスタム投稿タイプでも使用できるようになりました。
例えば、投稿、固定ページ、カスタム投稿タイプ「製品一覧(スラッグ:products)」でカスタムページテンプレートを使用したい場合は、次のコードをテーマファイルの冒頭に追加します。

<?php
/*
Template Name: カスタムページ
Template Post Type: post, page, products
*/
?>

まとめ

WordPress でカスタム投稿タイプでカスタムページテンプレートを使用する方法を紹介しました。

スポンサーリンク

合わせて読みたい関連記事