カスタマイズ項目を増やす|WordPressテーマ作成

   

WordPressテーマ作成

WordPressのテーマ作成で外観>カスタマイズに項目を増やす方法です。設定画面よりもカスタマイズ項目が増える方が使う側は嬉しいのかな?
functions.phpに記述します。

カスタマイズ項目の追加

function theme_customize_expansion( $wp_customize ) {
    // 1. セクション作成.
    $wp_customize->add_section( 'section_name', array (
        'title' => 'my section',
        'priority' => 100,
    ) );

    // 2. テーマ設定の追加.
    $wp_customize->add_setting( 'setting_name', array (
        'default' => 'true',
    ) );

    // 3. コントロールの追加.
    $wp_customize->add_control( 'control_name', array(
        'section' => 'section_name',
        'settings' => 'setting_name',
        'label' => 'ラベル',
        'description' => '説明文',
        'type' => 'checkbox',
        'priority' => 1,
    ) );
}
add_action( 'customize_register', 'theme_customize_expansion');
  • add_section()でセクションを登録します
  • add_setting()で設定値を追加します
  • add_control()で設定画面中のUIを追加します
    priorityは表示順序です

add_section
add_control

既存のセクションに追加したい場合は、add_control()で対象のセクション名を指定します。例えばであれば'section' => 'colors',とします。

カスタマイズ値の使い方

get_theme_mod()で取得します。第1引数に設定値名を、第2引数にデフォルト値を指定します。

get_theme_mod( 'setting_name', true );

 - WordPress