get_page_template_slug()


WordPressのget_page_template_slug()関数は、指定したページのテンプレートスラッグを取得するために使用されます。この関数は、ページに特定のカスタムテンプレートが割り当てられているかを確認するのに役立ちます。

構文

get_page_template_slug( int|WP_Post|null $post = null );
  • $post (int|WP_Post|null) — テンプレートスラッグを取得する投稿またはページを指定します。指定しない場合は現在の投稿を使用します。

例1: 現在のページのテンプレートスラッグを取得

現在表示しているページのテンプレートスラッグを取得する基本的な例です。

<?php $template_slug = get_page_template_slug(); ?>

例2: 特定の投稿IDのテンプレートスラッグを取得

投稿IDを指定して、その投稿に関連付けられたテンプレートスラッグを取得します。

<?php $template_slug = get_page_template_slug( get_the_ID() ); ?>

例3: 特定のWP_Postオブジェクトのテンプレートスラッグを取得

WP_Postオブジェクトを使用してテンプレートスラッグを取得する例です。

<?php
$post = get_post();
$template_slug = get_page_template_slug( $post );
?>

例4: 条件に基づいてテンプレートスラッグを確認

特定のテンプレートスラッグかどうかを確認して処理を分岐します。

<?php
if ( get_page_template_slug() === 'custom-template.php' ) {
    echo 'このページはカスタムテンプレートを使用しています。';
}
?>

例5: 投稿リストで各投稿のテンプレートスラッグを取得

投稿ループ内で各投稿のテンプレートスラッグを取得します。

<?php
$args = array( 'post_type' => 'page', 'posts_per_page' => -1 );
$pages = get_posts( $args );

foreach ( $pages as $page ) {
    $template_slug = get_page_template_slug( $page );
    echo $page->post_title . ': ' . $template_slug . '<br>';
}
?>

注意点

  • カスタムテンプレートが割り当てられていない場合、この関数は空の文字列を返します。
  • 戻り値がfalseの場合はエラーを示します。

関連機能: