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

概要

get_theme_mod関数は、現在のテーマ固有のプロパティ値を取得するために使用されます。この関数は、テーマカスタマイザーで設定されたオプションを取得する際によく使われ、具体的には以下のような機能を実装する際に役立ちます。

  1. サイトのロゴの取得
  2. ヘッダー画像の取得
  3. カラースキームの取得
  4. メニューの設定の取得
  5. フッターのテキストの取得
  6. フォントサイズの取得
  7. ウィジェットエリアの設定の取得
  8. サイトのソーシャルメディアリンクの取得

構文

get_theme_mod( $name, $default );

パラメータ

  • $name (string) (必須): 取得したい設定のキー名。
  • $default (mixed) (任意): 設定が存在しない場合に返されるデフォルト値。

戻り値

設定が存在する場合はその値を、存在しない場合はデフォルト値を返します。

関連する関数

  • https://refwp.com/?titleonly=1&s=get_theme_mod
  • https://refwp.com/?titleonly=1&s=set_theme_mod
  • https://refwp.com/?titleonly=1&s_theme_mods

使用可能なバージョン

get_theme_modは、WordPress 3.4.0以降のバージョンで使用可能です。

コアファイルのパス

wp-includes/theme.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: サイトのロゴを取得して表示

このコードは、テーマカスタマイザーで設定されたサイトのロゴを取得し、表示するものです。

$custom_logo_id = get_theme_mod('custom_logo');
$logo = wp_get_attachment_image_src($custom_logo_id, 'full');
if ($logo) {
    echo '<img src="'.esc_url($logo[0]).'" alt="'.get_bloginfo('name').'">';
}

サンプルコード2: ヘッダー固定画像を取得

このサンプルでは、ヘッダーの固定画像の設定を取得し、表示しています。

$header_image = get_theme_mod('header_image');
if ($header_image) {
    echo '<img src="'.esc_url($header_image).'" alt="Header Image">';
}

サンプルコード3: サイトのカラースキームを取得

こちらは、テーマカスタマイザーで設定されたカラースキームを取得し、その値に基づいてスタイルを適用する例です。

$color_scheme = get_theme_mod('color_scheme', 'default');
echo '<div class="color-scheme-'.$color_scheme.'">内容</div>';

サンプルコード4: フッターのテキストを取得して表示

このコードは、テーマカスタマイザーから設定されたフッターのテキストを取得し、それを表示するものです。

$footer_text = get_theme_mod('footer_text', 'Default footer text');
echo '<footer>'.$footer_text.'</footer>';

サンプルコード5: サイトのソーシャルメディアリンクを取得する

このサンプルでは、カスタマイザーで設定されたソーシャルメディアのリンクを取得して、リストとして表示します。

$social_links = get_theme_mod('social_links', []);
if (!empty($social_links)) {
    echo '<ul class="social-media">';
    foreach ($social_links as $link) {
        echo '<li><a href="'.esc_url($link).'">'.esc_html($link).'</a></li>';
    }
    echo '</ul>';
}

これらのサンプルコードは、WordPressテーマのカスタマイザーで取得した設定をどのように活用できるかの参考になります。

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


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