WordPressで固定ページのテンプレート名を取得する方法

作成日:

WordPressのテーマ内に追加している固定ページのテンプレート各種

home-page.php
sidebar-page.php
・・・

などなど。
これらの ファイル名 を取得するのはいくらでも出てきたのですが、各ファイル内のコメント内で定義されている

テンプレート
名がわから
ない。

各テンプレートには下記のように定義されています。

PHP home-page.php
/**
 * Template Name: ホームページ
 *
 * @package WordPress
 */

なので探ってみたら見つけました。

PHP
$templates = wp_get_theme()->get_page_templates();
foreach ( $templates as $template_name => $template_filename ) {
  echo $template_filename . '<br />';
}

これで全てのテンプレートのリスト名を表示することが出来ます。

では、今使用しているページテンプレートの名前だけを表示したい場合は、

PHP
$templates = wp_get_theme()->get_page_templates();
foreach ( $templates as $template_name => $template_filename ) {
  if ( $template_name === get_page_template_slug() ) {
    echo '現在のページテンプレート名:' . $template_filename;
  }
}

とします。

get_page_template_slug()で現在のページテンプレートファイル名が取得できます。

favicon
get page templates https://wordpress.stackexchange.com/questions/83180/get-page-templates

I have this issue where I need to get all page templates. I know there are ways to get them based on their name. I know that I can include a page template but I am trying to include them in the loo...

物草 灸太郎
物草 灸太郎

WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。

Loading...

コメントをどうぞ

  • メールアドレスが公開されることはありません。
  • コメント欄にURLは入力できません。
  • このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。