2026年7月14日

2026年7月14日

WordPressのCSSカスタムプロパティ(変数)を使う方法

はじめに

CSSカスタムプロパティは、スタイルシート内で使用する再利用可能な変数を定義できる強力な機能です。特にWordPressテーマの開発では、複雑なデザイン要素や色調の管理が容易になります。この記事では、どのようにしてWordPressでCSSカスタムプロパティを使用して効率的なテーマ開発を行うことができるかを解説します。

症状・背景

このテーマが必要になる主な場面:

  • テーマ内の色やフォントサイズを一括管理したい場合
  • 設定画面からCSS変数の値を動的に変更したい場合
  • 既存のCSSコードの維持性と保守性を高めたい場合

手順・設定方法

ステップ1: カスタムプロパティの定義

# functions.phpにカスタムプロパティを初期化する関数を追加します。
add_action( 'wp_enqueue_scripts', function() {
    wp_add_inline_script(
        'theme-style',
        'let $ = jQuery; $(document).ready(function () { let style = document.createElement("style"); document.head.appendChild(style); style.sheet.insertRule(":root{--primary-color:#0073aa;}", 0); });'
    );
} );

ステップ2: カスタムプロパティを使用してCSSの書式を変更

# CSSファイル内でカスタムプロパティを使用します。
body {
	background-color: var(--primary-background-color, #ffffff);
	color: var(--primary-text-color, #000000);
}

ステップ3: テーマ設定ページからのカスタムプロパティの動的変更

# オプションページにカスタムプロパティの値を保存するためのフィールドを追加します。
function custom_css_options() {
    add_settings_field(
        'primary_color',
        'Primary Color',
        function () { echo '<input type="text" name="custom_theme_options[primary-color]" value="' . get_option( 'custom_theme_options' )['primary-color'] . '">'; },
        'theme-settings', 'section-title'
    );
}
add_action('admin_init', 'custom_css_options');

ステップ4: カスタムプロパティを使用した動的なスタイルシート生成

# テーマ設定ページからのカスタムプロパティの値をスタイルシートに反映させます。
function custom_theme_style() {
    $custom_css = '';
    if (get_option('custom_theme_options')['primary-color']) {
        $custom_css .= 'body { background-color: var(--primary-background-color, #' . get_option('custom_theme_options')['primary-color'] . '); }';
    }
    wp_add_inline_script(
        'theme-style',
        'let $ = jQuery; $(document).ready(function () { let style = document.createElement("style"); document.head.appendChild(style); style.sheet.insertRule("' . str_replace("\n", "", $custom_css) . '", 0); });'
    );
}
add_action( 'wp_enqueue_scripts', 'custom_theme_style' );

注意事項

  • カスタムプロパティの値は必ずCSSの有効な形式で設定すること。
  • テーマのアップデート時にはカスタマイズしたCSSファイルも更新される可能性があるため、バックアップを取ること。
  • CSS変数を使用する際は互換性を確認し、古いブラウザへの対応策を検討すること。
  • カスタムプロパティが使用されている複雑なスタイルシートの保守には注意が必要。

まとめ

1. CSSカスタムプロパティ: テーマ内のスタイルを一貫性と再利用性を高めるために使用します。

2. 動的な変更: オプションページからのカスタムプロパティの値の更新により、ユーザーがテーマの外観を簡単に調整できます。

3. 保守性: CSSの一部をJavaScriptで生成することで、スタイルシートの維持管理が容易になります。

4. 互換性: すべてのブラウザがCSSカスタムプロパティをサポートしているわけではなく、古いブラウザへの対応が必要な場合があります。

5. セキュリティ: カスタムプロパティを使用する際は、ユーザーからの入力を受け取るフィールドに対する適切な検証を行う必要があります。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ