ワードプレスのget_page_template_slug関数の使用方法・解説

概要

get_page_template_slug関数は、固定ページに指定されているテンプレートファイルのスラッグを取得するための関数です。この関数は、カスタムページテンプレートを取り扱う際に非常に便利です。以下はこの関数がよく使われる機能の一例です。

  1. 固定ページのカスタムテンプレートの取得
  2. テンプレートの選択肢を作成する際の条件分岐
  3. ページに異なるスタイルやレイアウトを適用する
  4. テンプレートファイルの設定を管理する
  5. 同一の固定ページテンプレートを複数回使用する場合の管理
  6. 特定のテンプレートが使用されているかを確認する
  7. テンプレートの親子関係を確認する
  8. ユーザーごとの異なる表示を作成する

構文

get_page_template_slug( $page_id );

パラメータ

  • $page_id (int): テンプレートスラッグを取得したいページのID(省略可能、デフォルトは現在のページID)。

戻り値

  • (string|null): テンプレートファイルのスラッグ、または取得できない場合はnullを返す。

関連する関数

使用可能なバージョン

  • WordPress 3.0 以降から使用可能

コアファイルのパス

  • wp-includes/post.php

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

  1. 固定ページのスラッグを取得し表示する

    $slug = get_page_template_slug();
    echo '現在のページテンプレートスラッグ: ' . esc_html($slug);
    

    このコードは、現在のページに適用されているテンプレートスラッグを取得し、HTMLとして表示します。

  2. 特定のページIDからテンプレートスラッグを取得する

    $slug = get_page_template_slug(42);
    if ($slug) {
       echo 'ページID 42 のテンプレート: ' . esc_html($slug);
    }
    

    このコードは、特定のページID(ここでは42)に関連付けられたテンプレートスラッグを取得して表示します。

  3. スラッグを条件分岐に使用する

    if (get_page_template_slug() === 'custom-template.php') {
       // 特定のテンプレートが適用されている場合の処理
       echo 'カスタムテンプレートが使用されています。';
    }
    

    このコードは、現在のページに特定のカスタムテンプレートが使用されている場合に特定のメッセージを表示します。

  4. 取得したスラッグを利用してCSSを追加する

    $slug = get_page_template_slug();
    if ($slug === 'special-template.php') {
       echo '<link rel="stylesheet" href="special-style.css">';
    }
    

    このコードは、特定のテンプレートが使用されている場合、特定のCSSファイルを追加します。

  5. ページのスラッグをデバッグ出力する

    error_log('現在のページテンプレートスラッグ: ' . get_page_template_slug());
    

    このコードは、デバッグログに現在のページのテンプレートスラッグを出力します。

この関数について質問する


上の計算式の答えを入力してください