'#ffffff', 'input_color' => '#000000', 'btn_bg' => '#000000', 'btn_color' => '#ffffff', 'card_bg' => '#ffffff', 'radius' => 8, ); } public static function get_settings(): array { if ( null !== self::$settings_cache ) return self::$settings_cache; $saved = get_theme_mod( 'eppro_customizer', array() ); self::$settings_cache = wp_parse_args( $saved, self::defaults() ); return self::$settings_cache; } public static function register( $wp_customize ) { $defaults = self::defaults(); // Section $wp_customize->add_section( 'eppro_section', array( 'title' => 'Essential Pro Pack', 'priority' => 160, ) ); // ---------- Input BG ---------- $wp_customize->add_setting( 'eppro_customizer[input_bg]', array( 'default' => $defaults['input_bg'], 'transport' => 'refresh', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'eppro_input_bg', array( 'label' => 'Input Background', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[input_bg]', ) ) ); // ---------- Input Color ---------- $wp_customize->add_setting( 'eppro_customizer[input_color]', array( 'default' => $defaults['input_color'], 'transport' => 'refresh', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'eppro_input_color', array( 'label' => 'Input Text Color', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[input_color]', ) ) ); // ---------- Button BG ---------- $wp_customize->add_setting( 'eppro_customizer[btn_bg]', array( 'default' => $defaults['btn_bg'], 'transport' => 'refresh', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'eppro_btn_bg', array( 'label' => 'Button Background', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[btn_bg]', ) ) ); // ---------- Button Icon Color ---------- $wp_customize->add_setting( 'eppro_customizer[btn_color]', array( 'default' => $defaults['btn_color'], 'transport' => 'refresh', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'eppro_btn_color', array( 'label' => 'Button Icon Color', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[btn_color]', ) ) ); // ---------- Card BG ---------- $wp_customize->add_setting( 'eppro_customizer[card_bg]', array( 'default' => $defaults['card_bg'], 'transport' => 'refresh', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'eppro_card_bg', array( 'label' => 'Results Card Background', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[card_bg]', ) ) ); // ---------- Radius ---------- $wp_customize->add_setting( 'eppro_customizer[radius]', array( 'default' => $defaults['radius'], 'transport' => 'refresh', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( 'eppro_radius', array( 'label' => 'Global Border Radius (px)', 'section' => 'eppro_section', 'settings' => 'eppro_customizer[radius]', 'type' => 'number', ) ); } }