【WordPress】カスタムページテンプレート名を取得する方法

【WordPress】カスタムページテンプレート名を取得する方法

2018.1.5

固定ページや投稿ページの「テンプレート」として選択されているカスタムページテンプレートのテンプレート名を取得する方法についての紹介です

カスタムページテンプレートの作成方法や条件判断については以下の記事を参考にしてみて下さい

現在使われているカスタムページテンプレート名を取得する関数

現在のページで使われているカスタムページテンプレートはget_page_template_slugという関数で取得できます

$page_template = get_page_template_slug();
// 何か処理

注意点としては戻り値がファイル名ということです

get_template_part関数で指定するテンプレート名と違うので混乱しないようにして下さい

フォルダ内に保存されたテンプレートであれば、フォルダ名も戻り値に含まれます

例えばpage-templateフォルダに保存されたcustom-template.phpであれば、戻り値はpage-template/custom-template.phpになります

// 例:page-templateフォルダ内のcustom-template.phpがテンプレートの場合

$page_template = get_page_template_slug();
// page-template/custom-template.php

get_post_metaでも取得できる

get_page_template_slugと同じ結果をget_post_metaでも取得することが出来ます

$page_template = get_post_meta( $post->ID, '_wp_page_template', true );
// 何か処理

カスタムページテンプレート名を使うシーンはあまりないかもしれませんが、必要になったとき参考にしてみて下さい