WordPress ツール・ソフトウェア

WordPress で固定ページのテンプレートを変えようとしても変更できない

image
固定ページのテンプレートの変更部分で、例えば、テンプレートを「TopPage」に指定して、「更新」を押しても。

image
何故か、変更前のテンプレート(この例では「デフォルトテンプレート」)に戻ってしまう。

原因

テンプレートの選択は、php ファイルのヘッダー部分の「Template Name:」から読み込んでいる。
テンプレート名の定義は、php のファイルの中で以下のように行われる。

<?php
/*
Template Name: TopPage
*/
?>

そのため同じテンプレート名を持った php ファイルが複数あると、管理画面上からテンプレートの変更できなくなる。

例えば、”top.php” で「TopPage」のテンプレートを定義していたとして、、それをバックアップ目的でそのままコピーした”コピー~ top.php”を同じディレクトリに置いておくと、WordPress は、全ての php を読み込んで、”Template Name” の定義を探すため、WordPress から見ると「TopPage」のテンプレートが2つ存在してしまう事になる。そのため、WordPress の管理コンソールから固定ページのテンプレートを指定しても変更が反映されなくなる。

image

-WordPress, ツール・ソフトウェア

Copyright© エンジニアの何でもメモ帳 , 2020 All Rights Reserved.