WordPressの固定ページ用カスタムテンプレート作成|プラグインなし

WordPressの固定ページ用カスタムテンプレート作成|プラグインなし

ここでは、固定ページ用のカスタムテンプレートの作成方法を紹介します。

以前にカスタム投稿タイプの作成方法を記事にしましたが、カスタム投稿タイプの欠点としては、single-カスタム投稿.php(詳細ページ)のデザインが共通になってしまうことです。

例えば、コーポレートサイトのサービス紹介ページがあるとして、サービス紹介一覧ページ・各サービス詳細ページが必要になります。

URL構造は

  • www.aaa/service/service-a
  • www.aaa/service/service-b
  • www.aaa/service/service-c

としたいですよね。

カスタム投稿タイプでarchive-service.php、single-service.phpを作成すれば簡単ですが、各サービス紹介の詳細ページのデザインが異なる場合には使用できません。

そこで、活躍するのがカスタムテンプレートです。

カスタムテンプレート作成方法

まず、記述するのはpage.phpではなく、オリジナルでphpファイルを作成します。

ほかの人が確認することも考慮して、あくまで例ですが以下のようにわかりやすくするといいと思います。

  • サービス紹介 → template-service.php
  • サービスA → template-service-a.php
  • サービスB → template-service-b.php
  • サービスC → template-service-c.php

その後、各固定ページの頭にちょっと記述をすれば完成します。

サービス紹介一覧ページ作成

例えば、サービス紹介一覧ページであれば

<?php
/*
Template Name: サービス紹介
*/
?>

としましょう。

その後、管理画面から「固定ページ」で新規追加を選択して、編集画面右側の「テンプレート」から「サービス紹介」を選択しましょう。

作成したテンプレート名を選択

「パーマリンク」をserviceにして公開すれば、URLは

  • www.aaa/service

となり、サービス紹介一覧ページが完成します。

各サービス紹介詳細ページ作成

各サービス紹介詳細ページですが、ほぼ同様にして作成すれば完成します。

まず、template-service-a.phpの頭に

<?php
/*
Template Name: サービス紹介A
*/
?>

を記述し、管理画面から「固定ページ」で新規追加を選択して、編集画面右側の「テンプレート」から「サービス紹介A」を選択します。

この後、「パーマリンク」をservice-aにすればいいように思われますが、このまま公開するとURLは

  • www.aaa/service-a

となってしまいます。

なので、編集画面右側の「ページ属性」内の「親ページ」から「サービス紹介」を選択してください。

親ページに「サービス紹介」を選択

これで「パーマリンク」をservice-aにして公開すれば、URLは目的としていた

  • www.aaa/service/service-a

となります。


以上が固定ページ用のカスタムテンプレートの作成方法となります。

各テンプレートページのコーディングが大変になりますが、各々を別デザインにすることができるので、凝ったデザインにしたい場合に使ってみてください。

次回はカスタム投稿タイプ用のテンプレートの記事をあげたいと思いますので、興味があったら読んでみてください。