カスタムページテンプレートを使って、ユーザーに自由にテンプレートを変更できる機能をつけた時、
「このテンプレートが使われているときはこれをやる」
といった処理をテンプレートファイル以外でやりたくなることがあると思います。
今回はそんな条件分岐をするためのメモです。
テンプレートが使われているか判断する
よっひー(@yosiakatsuki)です。
固定ページや投稿ページで任意にテンプレートを変更出来るようにテーマを作ることが可能です(投稿やカスタム投稿タイプはWordPress 4.7から)
作成したテンプレート内では「このテンプレートを使っているときだけ」に実行される処理を書くことが出来ますが、functions.php
などでは先に「テンプレートが使われているか」を判断する必要があります。
そんなときはis_page_template
という関数で判断します。
is_page_templateでテンプレートが使われているか判断する
is_page_template
の使い方例はこちら
if ( is_page_template( 'about.php' ) ) {
// about.php が使われている場合
}
もしサブディレクトリにテンプレートファイルを配置している場合は、テーマのディレクトリからのパスっぽく引数を指定してあげます
if ( is_page_template( 'templates/about.php' ) ) {
// 処理
}
特定のテンプレートを使っているときだけ特別なcssを読み込む…といった処理が出来るようになりますね!