eureka

固定ページの子ページのスラッグ名が同じときのテンプレートの分け方

2

タイトルに『の』が多いのう

WordPressで固定ページを階層化するのはいいけど、下記のthanksみたいにスラッグ名が同じになるケースがあります。

/contact/thanks/
/recruit/thanks/

通常、固定ページを作成するときのテンプレート名はpage-slugName.phpなので、この場合はpage-thanks.phpで作成することになります。

しかし同じスラッグ名でも記載する内容を変えたいときがあります。その場合はどのようにテンプレートを分けたらいいか、という話です。

テンプレートの初めにコメントを入れる

結論なんですが、テンプレートファイルの書き始めに以下のようにコメントを書くと、固定ページの投稿画面でテンプレートを選べるようになります。

<?php
/**
 * Template Name: 採用
 */
?>

この場合はTemplate Name: 採用と追記したので、テンプレートの欄が出現し、『デフォルト』『採用』と選べるようになりました!

ファイル名はなんでもよさそう

テンプレートは選べるようになりましたが、固定ページのファイル名はどのように作ったらいいのか?

これは結論、page-xxx.phpの形式ならなんでもよさそうです。

例えば、スラッグが/recruit/thanks/ならpage-recruit-thanks.phpで大丈夫ですし、/contact/thanks/ならpage-contact-thanks.phpといった具合です。

固定ページのスラッグ設定でthanksにしつつ、階層化するのを忘れずに。

参考サイト

【WordPress】固定ページの階層化+テンプレート(子)の適用

2