[wp]親テーマのfront-page.phpが優先されるらしいという話

やってて気がついた。

どういうことか

テーマがある。

テーマにはfront-page.phpがある。

なので、トップページにはfront-page.phpが表示される。

そのテーマに対して子テーマを用意した。

子テーマ環境で固定ページをトップページ扱いにしようと思った。

スラッグ名「home」の固定ページを作った。
page-home.phpを作った。
表示設定で「ホームページの表示」を固定ページの「home」とした。

トップページに表示されるのは相変わらず、親テーマのfront-page.phpなんだが。
作ったhomeにアクセスしても固定ページじゃなくトップページが表示されるんだが。

そういうこと。

優先順位がある

wordpressのトップページとして表示されるファイルはindex.phpとかfront-page.phpとか、複数ある。

これらを同列に扱うなら複数設置された時にどうするのってことで、ファイルの優先順位がある。

詳細は省いて、要するに「front-page.phpが最強」という仕組みになってる。

子テーマが絡んでも同じということがわかった。

だから、親テーマにfront-page.phpがあるなら子テーマでもfront-page.phpを使えということになる。

front-page.phpで固定ページ(ホームページ)を引っ張ってこれる

front-page.phpがある状態で、表示設定にて「ホームページの表示」を特定の固定ページに指定したとする。

そうすると、front-page.phpでその固定ページを読み込む動作となる。

だから、front-page.phpに「the_title();」を入れたら固定ページのタイトルが表示されるし、「the_content();」を入れたら固定ページの本文が表示される。

page-{slug}.phpと同じ扱いができる。

だから困ることはないのだけど、設定内容を知らんと理由がわからなくなって困ることになりますね。

以上。

コメント

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