固定ページのテンプレートの変更部分で、例えば、テンプレートを「TopPage」に指定して、「更新」を押しても。
何故か、変更前のテンプレート(この例では「デフォルトテンプレート」)に戻ってしまう。
原因
テンプレートの選択は、php ファイルのヘッダー部分の「Template Name:」から読み込んでいる。
テンプレート名の定義は、php のファイルの中で以下のように行われる。
<?php
/*
Template Name: TopPage
*/
?>
そのため同じテンプレート名を持った php ファイルが複数あると、管理画面上からテンプレートの変更できなくなる。
例えば、”top.php” で「TopPage」のテンプレートを定義していたとして、、それをバックアップ目的でそのままコピーした”コピー~ top.php”を同じディレクトリに置いておくと、WordPress は、全ての php を読み込んで、”Template Name” の定義を探すため、WordPress から見ると「TopPage」のテンプレートが2つ存在してしまう事になる。そのため、WordPress の管理コンソールから固定ページのテンプレートを指定しても変更が反映されなくなる。