WordPressで固定ページのテンプレートが表示されない原因と解決方法

WordPress(ワードプレス)

WordPressは柔軟性が高く、テーマやテンプレートを自由にカスタマイズできるCMSです。その一方で、設定やファイル構成によっては思わぬトラブルに遭遇することもあります。

今回直面したのは、固定ページのテンプレート選択プルダウンが表示されないという問題でした。カスタムページテンプレートを作成したにもかかわらず、管理画面の固定ページ編集画面でテンプレートとして選択できない状態です。

通常であればテンプレートファイルを作成すると、自動的に選択できるようになります。しかし今回は、ファイルを正しく作成しているにもかかわらずテンプレートが表示されませんでした。

関連記事:WordPressのトップページ、front-page.phpとindex.phpの違いと使い分け

カスタムページテンプレートを作成しても表示されない

カスタムページテンプレートを作成する場合、通常は次のような記述をテンプレートファイルに追加します。

<?php /* Template Name: archive-news */ ?>

この記述をPHPファイルの先頭に追加すると、WordPressはそのファイルをカスタムテンプレートとして認識します。すると管理画面の固定ページ編集画面にあるテンプレート選択のプルダウンメニューに表示されるようになります。

しかし今回のケースでは、テンプレートファイルを作成してもプルダウンメニューに表示されませんでした。WordPressの一般的な仕様を考えると、通常はすぐに表示されるはずなので、原因の特定が必要になりました。

原因を調査するために確認したポイント

テンプレートが表示されない場合、まず疑うべきポイントはいくつかあります。今回も次のような基本的な確認を行いました。

  • テンプレートファイルがアクティブテーマのルートディレクトリにあるか
  • テンプレートファイルの記述が正しいか
  • ファイル名がWordPressの仕様に反していないか
  • キャッシュやプラグインの影響がないか

これらはカスタムページテンプレートが表示されない場合の基本的なチェックポイントです。しかし、今回のケースではこれらを確認しても問題は見つかりませんでした。

そこでさらにテーマの構成を確認したところ、意外な原因が見つかりました。

原因はテーマフォルダ内にstyle.cssが存在しないことだった

調査を進めると、テーマディレクトリの中にstyle.cssが存在していないことが判明しました。

WordPressではテーマとして認識されるために、最低限必要なファイルがあります。その代表がstyle.cssです。このファイルにはテーマ情報(テーマ名など)が記述され、WordPressがテーマを識別するための重要な役割を持っています。

style.cssが存在しない場合、WordPressはテーマを完全なテーマとして認識できず、テンプレート関連の機能が正常に動作しない場合があります。

そのため、style.cssをテーマフォルダに設置したところ、固定ページ編集画面のテンプレート選択にカスタムテンプレートが表示されるようになりました。

WordPressテーマではstyle.cssが必須ファイル

WordPressのテーマ構造では、style.cssは単なるCSSファイルではありません。テーマのメタ情報を含む重要なファイルでもあります。

通常は次のようなテーマヘッダーがstyle.cssの先頭に記述されています。

/* Theme Name: Sample Theme Author: Example Version: 1.0 */

この情報によって、WordPressはテーマを識別し、テーマ管理画面で表示します。style.cssが存在しない場合、テーマとしての要件が満たされないため、テンプレート機能が正常に動作しない可能性があります。

テーマを作成する際には、最低限次のファイル構成を用意しておくと安心です。

  • style.css
  • index.php
  • functions.php(必要に応じて)

こうした基本構造を整えておくことで、今回のようなトラブルを避けることができます。

固定ページテンプレートが表示されない場合のチェックポイント

WordPressで固定ページテンプレートが表示されない場合、次のポイントを確認すると原因を特定しやすくなります。

  • テンプレートファイルにTemplate Nameが記述されているか
  • テンプレートファイルがテーマのルートに配置されているか
  • テーマフォルダにstyle.cssが存在するか
  • テーマが正しく有効化されているか

これらを順番に確認することで、ほとんどのケースで問題の原因を見つけることができます。

WordPressは非常に柔軟なCMSですが、その分ファイル構成やテーマ仕様を理解していないと、思わぬところでトラブルが発生することがあります。もし固定ページのテンプレートが表示されない場合は、今回紹介したポイントを確認してみてください。