【WordPress】テンプレートがプルダウンメニューに表示されずに選択できない時の対処法

WordPressのテンプレートが選択できない場合にどうするか?

WordPressのテンプレート選択メニュー。通常であればこの選択メニューにテンプレートが表示される。

WordPressではテンプレートを簡単に作成することができます。
テンプレートとは、あるパターンに従ってWebページを作成するためのひな型のようなものです。
作成されたテンプレートはページの新規追加画面や編集画面に選択メニューとして表示されます。
しかし、時には作成したテンプレートが、ページ作成画面中に表示されるテンプレートの選択メニュー中に表示されないことがあります。
この場合、原因としては以下のようなものが挙げられます。

  • ファイルをアップした場所が誤っている
  • 投稿ページと固定ページを誤っている
  • typeが誤っている
  • 文字コードが誤っている

今回は、作成したWordpressのテンプレートが選択メニューに表示されない時の対処法を解説していきます。

ファイルをアップした場所が誤っている

今回のWordPressに限った話ではないのですが、ファイルをアップした場所が誤っているということはよくあるミスです。
フォルダ構成が同じ開発環境にアップをしていたり、同じサーバー内にWordpressが複数入っている場合は、適切なディレクトリにファイルがアップされていないということはよくある話です。
「トラブル対処法をいろいろ試してみたけどうまくいかないな」という場合は、一度落ち着いてファイルをアップしている場所が正しいものかどうかを確認するとよいでしょう。

投稿ページと固定ページを誤っている

WordPressは何もカスタマイズをしなくとも、通常の投稿ページと固定ページの2種類があります。
テンプレートを作成する時には、投稿ページは「single-XXX.php」、固定ページは「page-XXX.php」というファイル名を付けて、wp-contentディレクトリ下のthemeディレクトリにアップします(XXX部分には好きな英数字を入れて管理しやすいようにします)。
この時にファイル名が誤っていると、意図したテンプレートが作られないので注意が必要です。

typeが誤っている

先ほどのファイル名の誤りに近いですが、テンプレートのtypeを誤っても、正常にテンプレートが表示されないことがあります。
テンプレートファイルの冒頭は以下のような記述で書きだします。

<?php
* Template Name: テンプレート名
* Template Post Type: page
*/
?>

「Template Post Type : page」という記述は、このテンプレートがpageの場合、つまり固定ページの場合に使用されることを意味しています。
この記述が誤っていた場合も、正常に選択メニューに表示されないため、再度記述を確認してみて下さい。

文字コードが誤っている

文字コードのGUI
コーディングツールには必ず文字コードの設定機能があるので、UTF-8になっているかどうか確認をする。

テンプレートを作成した時に、ファイルの文字コードがUTF-8でない場合も、選択メニューが表示されないことがあります。いろいろ手を尽くしてみたけれども問題が発見されない時は、この文字コードが影響しているのかもしれません。
こうしたトラブルはいつもとは違うコーダーが対応した時に発生しやすくなります
なぜなら、文字コードが急に変わるというのは、使っているコーディングツールが変わらなければ発生する機会がなく、コーディングツールが変わるというタイミングが、コーダーが変わるタイミングぐらいしかないからです。
もしいつもとは異なるコーダーに作業を依頼し、テンプレートが選択メニューに表示されないということがあれば、文字コードがUTF-8になっているかどうか確認してみましょう。

参考