概要
get_page_template_slug
関数は、固定ページに指定されているテンプレートファイルのスラッグを取得するための関数です。この関数は、カスタムページテンプレートを取り扱う際に非常に便利です。以下はこの関数がよく使われる機能の一例です。
- 固定ページのカスタムテンプレートの取得
- テンプレートの選択肢を作成する際の条件分岐
- ページに異なるスタイルやレイアウトを適用する
- テンプレートファイルの設定を管理する
- 同一の固定ページテンプレートを複数回使用する場合の管理
- 特定のテンプレートが使用されているかを確認する
- テンプレートの親子関係を確認する
- ユーザーごとの異なる表示を作成する
構文
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 |
サンプルコード
-
固定ページのスラッグを取得し表示する
$slug = get_page_template_slug(); echo '現在のページテンプレートスラッグ: ' . esc_html($slug);
このコードは、現在のページに適用されているテンプレートスラッグを取得し、HTMLとして表示します。
-
特定のページIDからテンプレートスラッグを取得する
$slug = get_page_template_slug(42); if ($slug) { echo 'ページID 42 のテンプレート: ' . esc_html($slug); }
このコードは、特定のページID(ここでは42)に関連付けられたテンプレートスラッグを取得して表示します。
-
スラッグを条件分岐に使用する
if (get_page_template_slug() === 'custom-template.php') { // 特定のテンプレートが適用されている場合の処理 echo 'カスタムテンプレートが使用されています。'; }
このコードは、現在のページに特定のカスタムテンプレートが使用されている場合に特定のメッセージを表示します。
-
取得したスラッグを利用してCSSを追加する
$slug = get_page_template_slug(); if ($slug === 'special-template.php') { echo '<link rel="stylesheet" href="special-style.css">'; }
このコードは、特定のテンプレートが使用されている場合、特定のCSSファイルを追加します。
-
ページのスラッグをデバッグ出力する
error_log('現在のページテンプレートスラッグ: ' . get_page_template_slug());
このコードは、デバッグログに現在のページのテンプレートスラッグを出力します。