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

概要

wp_set_template_globals 関数は、現在のテーマに関連するグローバル変数を設定するために使用されます。この関数は、WordPressテンプレートの処理中に、テーマが必要とするさまざまな変数を設定するのに役立ちます。

この関数は、以下のような機能を実装する際によく使われます。

  1. テーマの設定情報を初期化する。
  2. カスタム投稿タイプを表示するための設定を行う。
  3. サイドバーやウィジェットの設定を管理する。
  4. ページテンプレートでのSEO設定を制御する。
  5. グローバル変数を使って条件判定を行う。
  6. 特定のリクエストに基づくデータをフィルタリングする。
  7. テーマ間の一貫性を持たせるためのデータを準備する。
  8. ユーザーのプロファイルに関連するデータを扱う。

構文

wp_set_template_globals( $template );

パラメータ

  • $template (string): テンプレート名。設定するグローバル変数に関連するテンプレートの名前。

戻り値

なし。

関連する関数

使用可能なバージョン

wp_set_template_globals 関数は、WordPress 4.4 以降のバージョンで利用可能です。

発見場所

この関数は、次のコアファイルに含まれています。

wp-includes/template.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: テンプレートのグローバル変数を設定

function set_template_globals_demo() {
    $template = 'my-template.php';
    wp_set_template_globals( $template );
}
add_action( 'after_setup_theme', 'set_template_globals_demo' );

このサンプルコードは、after_setup_theme アクションフックにバインドされており、my-template.php というテンプレート名に関連するグローバル変数を設定します。

サンプル2: カスタム投稿タイプの設定

function custom_post_type_setup() {
    register_post_type( 'custom', [
        'public' => true,
        'label'  => 'Custom Posts'
    ]);
    wp_set_template_globals( 'custom' );
}
add_action( 'init', 'custom_post_type_setup' );

このコードは、init アクションフックでカスタム投稿タイプを登録し、そのカスタムタイプに関連するグローバル変数を設定します。

サンプル3: テンプレートパーツの読み込み時にグローバル変数設定

function load_template_part() {
    wp_set_template_globals( 'header' );
    get_template_part( 'header' );
}
add_action( 'get_header', 'load_template_part' );

このサンプルは、get_header アクションフックでヘッダー部分を読み込む際に、グローバル変数を設定するものです。

サンプル4: SEO設定用のカスタムグローバル変数設定

function seo_custom_globals() {
    if ( is_single() ) {
        wp_set_template_globals( 'single' );
    }
}
add_action( 'wp', 'seo_custom_globals' );

このコードは、wp アクションフックで、シングル投稿ページに入った時に SEO に必要なグローバル変数を設定します。

サンプル5: サイト全体設定用のグローバル変数

function global_site_settings() {
    wp_set_template_globals( 'site-settings' );
}
add_action( 'wp_head', 'global_site_settings' );

このサンプルは、wp_head アクションフックで、サイト全体の設定に関連するグローバル変数を設定します。

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


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