固定ページのテンプレートを追加!テンプレート名が表示されない!?

サイト運営

先日、Wordpressの固定ページのテンプレートを作成して子テーマに追加しました。

しかし、なぜかテンプレート選択のプルダウンに追加したテンプレート名が出てきません。

作り方は合っているはず、しかし何度やっても出てこない。

この記事は、固定ページのテンプレートをネットで検索してその通りに作ってみたけど、なぜかテンプレートファイルが認識されていない気がするという人に役立つかもしれない内容になっています。

テンプレート名が表示されない理由はシンプルでした

結論から申しますと、『テンプレート名が日本語』の場合は、固定ページのテンプレートファイルの『文字コードがUTF-8』じゃないといけません。

以下、実際の作業工程をまとめています。

固定ページのテンプレートファイルの作り方

まずファイル名

固定ページのファイル名の命名規則をみると、次の2通りあります。

  • page-スラッグ名.php
  • 任意のファイル名.php

page-スラッグ名.phpを使う場合は、スラッグと連携させる場合です。

例えば、スラッグ名にprofileと指定した時に、page-profile.phpと言うテンプレートファイルがあれば、そちらが『デフォルトテンプレート』になります。

次に、任意のファイル名.phpを使う場合は、スラッグと連携させない場合です。この場合はファイル名は何でもいいので、スラッグの影響は受けません。固定ページのテンプレート選択プルダウンメニューに表示されるようになります。

ファイルを置く場所

子テーマの場合は、子テーマの直下です。親テーマの場合も親テーマの直下でしょう。

テンプレートファイルの中身

page.phpをコピーして作成するのが基本的な作法です。

その時、固定ページのテンプレートファイルの先頭にコメントをつけるのがルールになっています。

テンプレート名は日本語でも英語でも大丈夫です。

ファイル名と一緒でなくても構いません。

内容は以下の通りです。

 

<?php

/*

Template Name: テンプレート名

*/

固定ページの編集画面で追加したテンプレートプルダウンに表示されない

テンプレート名に日本語を使っている場合は、ファイルの文字コードがUTF-8じゃないとプルダウンメニューで文字が出てこないようです。英語のテンプレート名の場合は文字コードの影響を受けませんが、日本語の場合はダメなようです。

UTF-8で保存しなおしてアップロードすれば表示されるようになりました。

まとめ

最近日本語を使う時でも文字コードを意識することがあまりなかったのでなかなか気が付きませんでした。

久々に文字コードの影響を受けました。元ファイルがUTF-8であればコピーしてもそのままのコードになりますが、新規ファイルとして作成してしまうと、Shift-JISで保存されてしまいました。

そろそろ秀丸エディタとかの国産エディタ使うのやめた方が良いのかもしれません。

 

 

タイトルとURLをコピーしました