is_page_template() – ページテンプレートを利用しているか判断する関数

投稿日 :

カテゴリー :

is_page_template() は、現在表示しているページがページテンプレートを使用しているかどうか判断する関数です。

目次

is_page_template() 関数とは

この関数は、ページ・テンプレートの中にいるかどうかを判断することができます。

パラメーターでテンプレートファイル名またはそれらの配列を指定することで、特定のテンプレートファイルかどうか確認することができます。

パラメーター

$templateテンプレートファイル名または配列を指定

ページテンプレートとは

特別な PHP ファイルを用意し、指定された場合に他の固定ページ用のレイアウトとは異なるレイアウトや見た目にしたい場合に用いることがあります。

WordPress においてページテンプレートとは、複数の意味を持ちますが、ここでは下のように固定ページで選択できるテンプレートのことを指します。

作り方は以下のように PHP ファイルの冒頭にコメントアウトでテンプレート名を指定します。

<?php
/**
 * Template Name: サンプルテンプレート
 */

page-{slug_name}.php といった PHP ファイルを用意して作成をするページテンプレートを指してはいません。

使い方

上で紹介したようなページテンプレートが適応されているかどうかを is_page_template() 関数で判断することができます。

if ( is_page_template() ) {
	echo "ページテンプレートが適用されています。";
} else {
	echo "ページテンプレートが適用されていません。";
}

また、特定のページテンプレートのファイルを指定して判断することもできます。

if ( is_page_template( 'templates/sample.php' ) ) {
	echo "templates/sample.phpが使われています";
} else {
	echo "templates/sample.phpが使われていません";
}

配列で指定することもできます。

if ( is_page_template( array( 'templates/sample.php', 'templates/demo.php' ) ) ) {
	echo "templates/sample.php または templates/demo.php が選択されています";
} else {
	echo "templates/sample.php または templates/demo.php が選択されていません";
}

フック

ありません。

まとめ

ページテンプレートと聞くと、page-{slug_name}.php で用意されたものを想像する方も多いかもしれませんが、is_page_template() 関数で判断するのは管理画面から割り当てることができるページテンプレートのことなので注意が必要です。

WordPress のページテンプレートについて詳しく知りたい方はこちらのドキュメントを参照されると良いでしょう。

コーディングや
WordPress開発のリソースが足りない!

オレインデザインでは、デザインデータからの HTML コーディングから WordPress テーマ・プラグイン開発まで幅広くウェブ制作に対応しています。

お気軽にお問い合わせください。

WordPress 6.5.x 対応版を出版しました

WordPress デフォルトテーマ Twenty Twenty-Four を使って、シンプルなブログやポートフォリオサイト、そしてコーポレートサイトを作りながら、ブロックテーマやサイトエディターの基本を理解することができます。