add_setting('aza_logo', array( 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'aza_logo', array( 'label' => __('Website Logo', 'aza-lite'), 'section' => 'title_tagline', 'priority' => 1, 'description' => __('We recommend using a logo that has a maximum height of 60px.', 'aza-lite') ))); } $wp_customize->add_setting('aza_navbar_color', array( 'default' => 'rgba(0, 0, 0, 0.75)', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new Aza_Customize_Alpha_Color_Control($wp_customize, 'aza_navbar_color', array( 'label' => __(' Navigation bar color', 'aza-lite'), 'section' => 'colors', 'priority' => 2, 'description' => __('Change color and opacity of the menu bar', 'aza-lite'), 'palette' => false ))); /********************************************************/ /********************* PRELOADER ************************/ /********************************************************/ $wp_customize->add_section('aza_preloader_section', array( 'title' => __('Preloader', 'aza-lite'), 'priority' => 25, 'description' => __('Preloader options', 'aza-lite') )); /* Preloader Colors */ $wp_customize->add_setting('aza_preloader_color', array( 'default' => '#fc535f', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'preloader_color', array( 'label' => __('Color', 'aza-lite'), 'section' => 'aza_preloader_section', 'settings' => 'aza_preloader_color', 'description' => __('Change the color of the preloader object', 'aza-lite') ))); $wp_customize->add_setting('aza_preloader_background_color', array( 'default' => '#333333', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'preloader_background-color', array( 'label' => __('Background Color', 'aza-lite'), 'section' => 'aza_preloader_section', 'settings' => 'aza_preloader_background_color', 'description' => __('Change the background color of the preloader', 'aza-lite') ))); /*============================================================================= Preloader Toggle =============================================================================*/ $wp_customize->add_setting('aza_preloader_toggle', array( 'default' => 1, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_preloader_toggle', array( 'label' => __('Enable Preloader', 'aza-lite'), 'type' => 'checkbox', 'section' => 'aza_preloader_section', 'settings' => 'aza_preloader_toggle', 'description' => __('Toggle the website preloader ON or OFF', 'aza-lite'), 'priority' => 0 )); /*============================================================================= Preloader Types =============================================================================*/ $wp_customize->add_setting('aza_preloader_type', array( 'default' => '1', 'sanitize_callback' => 'aza_sanitize_select' )); $wp_customize->add_control('aza_preloader_type', array( 'type' => 'radio', 'label' => __('Preloader type', 'aza-lite'), 'section' => 'aza_preloader_section', 'choices' => array( '1' => 'Rotating plane', '2' => 'Bouncing circles', '3' => 'Folding square', '4' => 'Bouncing lines' ), 'description' => __('Change the preloader animation', 'aza-lite') )); /********************************************************/ /********************* APPEARANCE **********************/ /********************************************************/ $wp_customize->add_panel('appearance_panel', array( 'priority' => 30, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __('Sections', 'aza-lite'), 'description' => __('Customize the appearance of the front page sections', 'aza-lite') )); $wp_customize->add_section('aza_appearance_cover', array( 'title' => __('Hero Area', 'aza-lite'), 'priority' => 30, 'description' => __('Edit the hero area content', 'aza-lite'), 'panel' => 'appearance_panel' )); /*============================================================================= Site header title =============================================================================*/ $wp_customize->add_setting('aza_header_title', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_header_title', array( 'label' => __('Site heading', 'aza-lite'), 'section' => 'aza_appearance_cover', 'priority' => 2, 'description' => __('Main heading', 'aza-lite') )); /*============================================================================= Site header subtitle =============================================================================*/ $wp_customize->add_setting('aza_subheader_title', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_subheader_title', array( 'section' => 'aza_appearance_cover', 'priority' => 3, 'description' => __('Subheading', 'aza-lite') )); /*============================================================================= Header buttons =============================================================================*/ $wp_customize->add_setting('aza_header_buttons_type', array( 'default' => 'normal_buttons', 'sanitize_callback' => 'aza_sanitize_select' )); $wp_customize->add_control('aza_header_buttons_type', array( 'type' => 'radio', 'priority' => 5, 'label' => __('Button options', 'aza-lite'), 'description' => __('Change the header buttons type or remove them', 'aza-lite'), 'section' => 'aza_appearance_cover', 'choices' => array( 'store_buttons' => 'Store buttons', 'normal_buttons' => 'Normal buttons', 'disabled_buttons' => 'Disable buttons' ) )); /*============================================================================= Store Buttons =============================================================================*/ $wp_customize->add_setting('aza_appstore_link', array( 'default' => esc_url('#'), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('aza_appstore_link', array( 'label' => __('Store links', 'aza-lite'), 'section' => 'aza_appearance_cover', 'priority' => 6, 'description' => __('Apple Appstore link to your app', 'aza-lite') )); $wp_customize->add_setting('aza_playstore_link', array( 'default' => esc_url('#'), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('aza_playstore_link', array( 'section' => 'aza_appearance_cover', 'priority' => 7, 'description' => __('Google Playstore link to your app', 'aza-lite') )); /*============================================================================= Regular Buttons =============================================================================*/ //first button controls $wp_customize->add_setting('aza_button_text_1', array( 'default' => esc_html__('Button 1', 'aza-lite'), 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_button_text_1', array( 'label' => __('First button', 'aza-lite'), 'section' => 'aza_appearance_cover', 'priority' => 8, 'description' => __('Text on the first button of the hero area', 'aza-lite') )); $wp_customize->add_setting('aza_button_link_1', array( 'default' => esc_url('#'), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('aza_button_link_1', array( 'section' => 'aza_appearance_cover', 'priority' => 9, 'description' => __('Link for the first button', 'aza-lite') )); $wp_customize->add_setting('aza_button_color_1', array( 'default' => '#3399df', 'sanitize_callback' => 'aza_sanitize_colors', )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_button_color_1', array( 'section' => 'aza_appearance_cover', 'priority' => '10', 'settings' => 'aza_button_color_1', 'description' => __('Button color', 'aza-lite'), ))); $wp_customize->add_setting('aza_button_text_color_1', array( 'default' => '#ffffff', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_button_text_color_1', array( 'section' => 'aza_appearance_cover', 'priority' => '11', 'settings' => 'aza_button_text_color_1', 'description' => __('Text color', 'aza-lite'), ))); //second button controls $wp_customize->add_setting('aza_button_text_2', array( 'default' => esc_html__('Button 2', 'aza-lite'), 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_button_text_2', array( 'label' => __('Second button', 'aza-lite'), 'section' => 'aza_appearance_cover', 'priority' => 12, 'description' => __('Text on the second button of the hero area', 'aza-lite'), )); $wp_customize->add_setting('aza_button_link_2', array( 'default' => esc_url('#'), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('aza_button_link_2', array( 'section' => 'aza_appearance_cover', 'priority' => 13, 'description' => __('Link for the second button', 'aza-lite') )); $wp_customize->add_setting('aza_button_color_2', array( 'default' => '#fc535f', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_button_color_2', array( 'section' => 'aza_appearance_cover', 'priority' => '14', 'settings' => 'aza_button_color_2', 'description' => __('Button color', 'aza-lite') ))); $wp_customize->add_setting('aza_button_text_color_2', array( 'default' => '#ffffff', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_button_text_color_2', array( 'section' => 'aza_appearance_cover', 'priority' => '15', 'settings' => 'aza_button_text_color_2', 'description' => __('Text color', 'aza-lite') ))); //background-color $wp_customize->add_setting('aza_hero_color', array( 'default' => 'rgba(0, 0, 0, 0.25)', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new Aza_Customize_Alpha_Color_Control($wp_customize, 'aza_hero_color', array( 'label' => __(' Hero overlay color', 'aza-lite'), 'section' => 'aza_appearance_cover', 'priority' => 0, 'description' => __('Change color and opacity of the menu bar', 'aza-lite'), 'palette' => false ))); /*============================================================================= PARALLAX SECTION =============================================================================*/ $wp_customize->add_section('aza_appearance_parallax', array( 'title' => __('Parallax Section', 'aza-lite'), 'priority' => 32, 'description' => __('Parallax section options', 'aza-lite'), 'panel' => 'appearance_panel' )); /*============================================================================= Parallax content =============================================================================*/ $wp_customize->add_setting('aza_parallax_image', array( 'default' => get_template_directory_uri() . '/images/parallax-image.png', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'aza_parallax_image', array( 'label' => __('Parallax content', 'aza-lite'), 'description' => __('Image', 'aza-lite'), 'section' => 'aza_appearance_parallax', 'priority' => 1 ))); $wp_customize->add_setting('aza_parallax_text', array( 'sanitize_callback' => 'aza_sanitize_text', )); $wp_customize->add_control('aza_parallax_text', array( 'description' => __('Text', 'aza-lite'), 'section' => 'aza_appearance_parallax', 'priority' => 2, )); /*============================================================================= Parallax layers =============================================================================*/ $wp_customize->add_setting('aza_parallax_background', array( 'default' => esc_url( get_template_directory_uri() . '/images/parallax-background.jpg' ), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'aza_parallax_background', array( 'label' => __('Parallax Layers', 'aza-lite'), 'description' => __('Background','aza-lite'), 'section' => 'aza_appearance_parallax', 'priority' => 3 ))); $wp_customize->add_setting('aza_parallax_layer_1', array( 'default' => esc_url( get_template_directory_uri() . '/images/parallax-layer1.png' ), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'aza_parallax_layer_1', array( 'description' => __('First layer image','aza-lite'), 'section' => 'aza_appearance_parallax', 'priority' => 4 ))); $wp_customize->add_setting('aza_parallax_layer_2', array( 'default' => esc_url( get_template_directory_uri() . '/images/parallax-layer2.png' ), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'aza_parallax_layer_2', array( 'description' => __('Second layer image','aza-lite'), 'section' => 'aza_appearance_parallax', 'priority' => 5 ))); /*============================================================================= RIBBON SECTION =============================================================================*/ $wp_customize->add_section('aza_appearance_ribbon', array( 'title' => __('Ribbon Section', 'aza-lite'), 'description' => __('Call to action ribbon options', 'aza-lite'), 'panel' => 'appearance_panel' )); //Layout $wp_customize->add_setting('aza_ribbon_layout', array( 'default' => '2', 'sanitize_callback' => 'aza_sanitize_select' )); $wp_customize->add_control('aza_ribbon_layout', array( 'priority' => '1', 'type' => 'radio', 'label' => __('Section layout', 'aza-lite'), 'section' => 'aza_appearance_ribbon', 'choices' => array( '1' => 'Button first', '2' => 'Text first', ), 'description' => __('Change the layout of the ribbon', 'aza-lite') )); //Color $wp_customize->add_setting('aza_ribbon_background_color', array( 'default' => 'rgba(0, 69, 97, 0.35)', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new Aza_Customize_Alpha_Color_Control($wp_customize, 'aza_ribbon_background_color', array( 'label' => __('Background overlay ', 'aza-lite'), 'section' => 'aza_appearance_ribbon', 'description' => __('Change color and opacity of ribbon overlay', 'aza-lite'), 'palette' => false, 'priority' => 2, ))); //Text options $wp_customize->add_setting('aza_ribbon_text', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_ribbon_text', array( 'label' => __('Text options', 'aza-lite'), 'description' => __('Ribbon text', 'aza-lite'), 'section' => 'aza_appearance_ribbon', 'priority' => 3 )); $wp_customize->add_setting('aza_ribbon_text_color', array( 'default' => '#ffffff', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_ribbon_text_color', array( 'section' => 'aza_appearance_ribbon', 'settings' => 'aza_ribbon_text_color', 'description' => __('Text color', 'aza-lite'), 'priority' => 4, ))); //Button options $wp_customize->add_setting('aza_ribbon_button_text', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_ribbon_button_text', array( 'label' => __('Button options', 'aza-lite'), 'description' => __('Button text', 'aza-lite'), 'section' => 'aza_appearance_ribbon', 'priority' => 5 )); $wp_customize->add_setting('aza_ribbon_button_link', array( 'default' => esc_url('#'), 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('aza_ribbon_button_link', array( 'description' => __('Button link', 'aza-lite'), 'section' => 'aza_appearance_ribbon', 'priority' => 6 )); $wp_customize->add_setting('aza_ribbon_button_color', array( 'default' => '#fc535f', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_ribbon_button_color', array( 'section' => 'aza_appearance_ribbon', 'priority' => '7', 'settings' => 'aza_ribbon_button_color', 'description' => __('Button color', 'aza-lite') ))); $wp_customize->add_setting('aza_ribbon_button_text_color', array( 'default' => '#ffffff', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'aza_ribbon_button_text_color', array( 'section' => 'aza_appearance_ribbon', 'priority' => '8', 'settings' => 'aza_ribbon_button_text_color', 'description' => __('Button text color', 'aza-lite') ))); /*============================================================================= BLOG SECTION =============================================================================*/ $wp_customize->add_section('aza_appearance_blog', array( 'title' => __('Blog Section', 'aza-lite'), 'description' => __('Blog section options', 'aza-lite'), 'panel' => 'appearance_panel' )); /*============================================================================= Blog headings =============================================================================*/ $wp_customize->add_setting('aza_blog_title', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_blog_title', array( 'label' => __('Title', 'aza-lite'), 'section' => 'aza_appearance_blog', 'priority' => 1 )); $wp_customize->add_setting('aza_blog_subtitle', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_blog_subtitle', array( 'label' => esc_html__('Subtitle', 'aza-lite'), 'section' => 'aza_appearance_blog', 'priority' => 2 )); /*============================================================================= Blog Separators =============================================================================*/ $wp_customize->add_setting('aza_separator_blog_top', array( 'default' => 1, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_separator_blog_top', array( 'label' => __('Separator top','aza-lite'), 'type' => 'checkbox', 'section' => 'aza_appearance_blog' )); $wp_customize->add_setting('aza_separator_blog_bottom', array( 'default' => 0, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_separator_blog_bottom', array( 'label' => __('Separator bottom','aza-lite'), 'type' => 'checkbox', 'section' => 'aza_appearance_blog' )); /*============================================================================= CONTACT SECTION =============================================================================*/ $wp_customize->add_section('aza_appearance_contact', array( 'title' => __('Contact Section', 'aza-lite'), 'description' => __('Contact section shortcode', 'aza-lite'), 'panel' => 'appearance_panel' )); /*============================================================================= Contact headings =============================================================================*/ $wp_customize->add_setting('aza_contact_title', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_contact_title', array( 'label' => __('Section heading', 'aza-lite'), 'section' => 'aza_appearance_contact', 'description' => __('Title', 'aza-lite'), 'priority' => 1, )); $wp_customize->add_setting('aza_contact_subtitle', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_contact_subtitle', array( 'description' => __('Subtitle', 'aza-lite'), 'section' => 'aza_appearance_contact', 'priority' => 2, )); /*============================================================================= Contact shortcode =============================================================================*/ $wp_customize->add_setting('frontpage_contact_shortcode', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('frontpage_contact_shortcode', array( 'label' => __('Form Shortcode', 'aza-lite'), 'section' => 'aza_appearance_contact', 'priority' => 3, )); /*============================================================================= Contact background =============================================================================*/ $wp_customize->add_setting('aza_contact_background', array( 'default' => 'rgba(0, 0, 0, 0.75)', 'sanitize_callback' => 'aza_sanitize_colors' )); $wp_customize->add_control(new Aza_Customize_Alpha_Color_Control($wp_customize, 'aza_contact_background', array( 'label' => __(' Background color', 'aza-lite'), 'section' => 'aza_appearance_contact', 'palette' => false, 'priority' => 4, ))); /*============================================================================= Contact separators =============================================================================*/ $wp_customize->add_setting('aza_separator_contact_top', array( 'default' => 1, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_separator_contact_top', array( 'label' => __('Top Separator','aza-lite'), 'type' => 'checkbox', 'section' => 'aza_appearance_contact', 'priority'=> 5, )); /*============================================================================= INTERGEO MAPS SECTION =============================================================================*/ $wp_customize->add_section('aza_appearance_map', array( 'title' => __('Maps Section', 'aza-lite'), 'panel' => 'appearance_panel' )); $wp_customize->add_setting('frontpage_map_shortcode', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('frontpage_map_shortcode', array( 'label' => __('Map Shortcode', 'aza-lite'), 'description' => __('We suggest using the Intergeo Maps plugin for the best possible experience', 'aza-lite'), 'section' => 'aza_appearance_map', 'priority' => 1 )); /*============================================================================= SOCIAL RIBBON =============================================================================*/ $wp_customize->add_section('aza_appearance_social_ribbon', array( 'title' => __('Social Ribbon', 'aza-lite'), 'description' => __('Social ribbon options.', 'aza-lite'), 'panel' => 'appearance_panel' )); /*============================================================================= Social ribbon heading 1 =============================================================================*/ $wp_customize->add_setting('aza_social_heading_1', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_social_heading_1', array( 'label' => __('Heading 1', 'aza-lite'), 'section' => 'aza_appearance_social_ribbon', 'priority' => 1 )); /*============================================================================= Social ribbon separator =============================================================================*/ $wp_customize->add_setting('aza_separator_social_ribbon', array( 'default' => 1, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_separator_social_ribbon', array( 'label' => __('Separator', 'aza-lite'), 'type' => 'checkbox', 'section' => 'aza_appearance_social_ribbon' )); /*============================================================================= Social ribbon icons =============================================================================*/ $wp_customize->add_setting('aza_social_ribbon_icons', array( 'sanitize_callback' => 'aza_sanitize_repeater', 'default' => json_encode(array( array( 'icon_value' => 'fa-facebook', 'link' => esc_url('#'), 'color' => '#4597d1', 'id' => 'customizer_repeater_56d7ea7f40f64', ), array( 'icon_value' => 'fa-twitter', 'link' => esc_url('#'), 'color' => '#45d1c2', 'id' => 'customizer_repeater_56d7ea7f40f65', ), array( 'icon_value' => 'fa-google-plus', 'link' => esc_url('#'), 'color' => '#fc535f', 'id' => 'customizer_repeater_56d7ea7f40f66', ), )) )); $wp_customize->add_control(new AZA_Repeater($wp_customize, 'aza_social_ribbon_icons', array( 'label' => __('Social Icons', 'aza-lite'), 'section' => 'aza_appearance_social_ribbon', 'priority' => 2, 'customizer_repeater_icon_control' => true, 'customizer_repeater_link_control' => true, 'customizer_repeater_color_control' => true ))); /*============================================================================= Social ribbon heading 2 =============================================================================*/ $wp_customize->add_setting('aza_social_heading_2', array( 'sanitize_callback' => 'aza_sanitize_text' )); $wp_customize->add_control('aza_social_heading_2', array( 'label' => __('Heading 2', 'aza-lite'), 'section' => 'aza_appearance_social_ribbon', 'priority' => 3 )); /*============================================================================= Social ribbon store buttons =============================================================================*/ $wp_customize->add_setting('aza_social_ribbon_store_buttons', array( 'default' => 0, 'sanitize_callback' => 'aza_sanitize_checkbox' )); $wp_customize->add_control('aza_social_ribbon_store_buttons', array( 'label' => 'Show store buttons', 'type' => 'checkbox', 'section' => 'aza_appearance_social_ribbon' )); } add_action('customize_register', 'aza_customize_register'); //============================================================================= function aza_sanitize_repeater($input) { $input_decoded = json_decode($input, true); $allowed_html = array( 'br' => array(), 'em' => array(), 'strong' => array(), 'a' => array( 'href' => array(), 'class' => array(), 'id' => array(), 'target' => array() ), 'button' => array( 'class' => array(), 'id' => array() ) ); foreach ($input_decoded as $boxk => $box) { foreach ($box as $key => $value) { if ($key == 'text') { $input_decoded[$boxk][$key] = wp_kses($value, $allowed_html); } else { $input_decoded[$boxk][$key] = wp_kses_post($value); } } } return json_encode($input_decoded); } //============================================================================= /** * Sanitize text * * @param $input * * @return mixed */ function aza_sanitize_text( $input ) { return wp_filter_post_kses ( $input ); } /** * Sanitize checkbox * * @param $checked * * @return bool */ function aza_sanitize_checkbox( $checked ) { // Boolean check. return ( ( isset( $checked ) && true == $checked ) ? true : false ); } /** * Sanitize colors * * @param $input * * @return mixed */ function aza_sanitize_colors( $input ) { $mode = ( false === strpos( $input, 'rgba' ) ) ? 'hex' : 'rgba'; if ( 'rgba' === $mode ) { return aza_sanitize_rgba( $input ); } else { return sanitize_hex_color( $input ); } } /** * RGBA sanitize utility function * * @param $value * * @return string */ function aza_sanitize_rgba( $value ) { $red = $green = $blue = $alpha = 'rgba(0,0,0,0)'; if ( empty( $value ) || is_array( $value ) ) { return ''; } $value = str_replace( ' ', '', $value ); sscanf( $value, 'rgba(%d,%d,%d,%f)', $red, $green, $blue, $alpha ); return 'rgba(' . $red . ',' . $green . ',' . $blue . ',' . $alpha . ')'; } /** * Sanitize select / radio * * @param $input * @param $setting * * @return mixed */ function aza_sanitize_select( $input, $setting ) { $input = sanitize_key( $input ); $choices = $setting->manager->get_control( $setting->id )->choices; return ( array_key_exists( $input, $choices ) ? $input : $setting->default ); } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function aza_customize_preview_js() { wp_enqueue_script('aza_customizer', get_template_directory_uri() . '/js/admin/customizer.js', array( 'customize-preview' ), '20130508', true); } add_action('customize_preview_init', 'aza_customize_preview_js');