概要
get_theme_mod
関数は、現在のテーマ固有のプロパティ値を取得するために使用されます。この関数は、テーマカスタマイザーで設定されたオプションを取得する際によく使われ、具体的には以下のような機能を実装する際に役立ちます。
- サイトのロゴの取得
- ヘッダー画像の取得
- カラースキームの取得
- メニューの設定の取得
- フッターのテキストの取得
- フォントサイズの取得
- ウィジェットエリアの設定の取得
- サイトのソーシャルメディアリンクの取得
構文
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テーマのカスタマイザーで取得した設定をどのように活用できるかの参考になります。