add_setting( 'aza_sticky_navbar', array( 'default' => false, 'priority' => 50, 'sanitize_callback' => 'aza_sanitize_checkbox' ) ); $wp_customize->add_control( 'aza_sticky_navbar', array( 'label' => __( 'Enable Sticky Navigation', 'aza-lite' ), 'description' => __( 'If this box is checked, the navigation menu will stick to the top of your website.', 'aza-lite' ), 'type' => 'checkbox', 'section' => 'title_tagline' ) ); /*============================================================================= Logo =============================================================================*/ if ( ! function_exists( 'the_custom_logo' ) ) { $wp_customize->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 ) ) ); $wp_customize->add_setting( 'aza_navbar_color_after_scroll', array( 'default' => 'rgba(0, 0, 0, 0.8)', 'sanitize_callback' => 'aza_sanitize_colors' ) ); $wp_customize->add_control( new Aza_Customize_Alpha_Color_Control( $wp_customize, 'aza_navbar_color_after_scroll', array( 'label' => __( ' Navigation bar color after scroll', 'aza-lite' ), 'section' => 'colors', 'priority' => 3, 'description' => __( 'Change color and opacity of the menu bar after scroll', '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', 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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, 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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' ) ) ); /********************************************************/ /********************* SECTIONS **********************/ /********************************************************/ $wp_customize->add_panel( 'sections_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' ), 'active_callback' => 'frontpage_check', ) ); $wp_customize->add_section( 'aza_appearance_cover', array( 'title' => __( 'Hero Area', 'aza-lite' ), 'priority' => 1, 'description' => __( 'Edit the hero area content', 'aza-lite' ), 'panel' => 'sections_panel' ) ); /*============================================================================= Site header title =============================================================================*/ $wp_customize->add_setting( 'aza_header_title', array( 'sanitize_callback' => 'aza_sanitize_text', 'transport' => 'postMessage', ) ); $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', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'aza_subheader_title', array( 'section' => 'aza_appearance_cover', 'priority' => 3, 'description' => __( 'Subheading', 'aza-lite' ) ) ); /*============================================================================= Site Header Partials =============================================================================*/ $wp_customize->selective_refresh->add_partial( 'aza_header_title', array( 'selector' => '.cover-text h1', 'settings' => 'aza_header_title', 'render_callback' => function () { return get_theme_mod( 'aza_header_title' ); }, ) ); /*============================================================================= 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( 'normal_buttons' => 'Normal buttons', 'store_buttons' => 'Store buttons', 'disabled_buttons' => 'Disable buttons' ) ) ); /*============================================================================= Store Buttons =============================================================================*/ $wp_customize->add_setting( 'aza_appstore_link', array( 'default' => esc_url( '#' ), 'transport' => 'postMessage', '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( '#' ), 'transport' => 'postMessage', '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' ), 'transport' => 'postMessage', '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( '#' ), 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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' ), 'transport' => 'postMessage', '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( '#' ), 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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', 'transport' => 'postMessage', '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)', 'transport' => 'postMessage', '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 ) ) ); /*============================================================================= BLOG SECTION =============================================================================*/ $wp_customize->add_section( 'aza_appearance_blog', array( 'title' => __( 'Blog Section', 'aza-lite' ), 'description' => __( 'Blog section options', 'aza-lite' ), 'priority' => 5, 'panel' => 'sections_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 Posts Number =============================================================================*/ $wp_customize->add_setting( 'aza_blog_posts_number', array( 'default' => 3, 'priority' => 3, 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( 'aza_blog_posts_number', array( 'label' => __( 'Blog Posts Number', 'aza-lite' ), 'section' => 'aza_appearance_blog' ) ); /*============================================================================= Blog Excerpt Length =============================================================================*/ $wp_customize->add_setting( 'aza_frontpage_blog_excerpt_length', array( 'default' => 50, 'priority' => 4, 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( 'aza_frontpage_blog_excerpt_length', array( 'label' => __( 'Excerpt Length', 'aza-lite' ), 'type' => 'number', 'section' => 'aza_appearance_blog' ) ); /*============================================================================= 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' ) ); /*============================================================================= PARALLAX SECTION =============================================================================*/ $wp_customize->add_section( 'aza_appearance_parallax', array( 'title' => __( 'Parallax Section', 'aza-lite' ), 'priority' => 10, 'description' => __( 'Parallax section options', 'aza-lite' ), 'panel' => 'sections_panel' ) ); /*============================================================================= Parallax content =============================================================================*/ $wp_customize->add_setting( 'aza_parallax_image', array( 'default' => get_template_directory_uri() . '/images/parallax-image.png', 'transport' => 'postMessage', '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( 'transport' => 'postMessage', 'sanitize_callback' => 'aza_sanitize_text', ) ); $wp_customize->add_control( 'aza_parallax_text', array( 'description' => __( 'Text - You can also use html basic tags here.', 'aza-lite' ), 'section' => 'aza_appearance_parallax', 'type' => 'textarea', 'priority' => 2, ) ); /*============================================================================= Parallax Text Partials =============================================================================*/ $wp_customize->selective_refresh->add_partial( 'aza_parallax_text', array( 'selector' => '.parallax-features h3', 'settings' => 'aza_parallax_text', 'render_callback' => function () { return get_theme_mod( 'aza_parallax_text' ); }, ) ); /*============================================================================= 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' => 'sections_panel', 'priority' => 15, ) ); //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' ) ) ) ); /*============================================================================= SOCIAL RIBBON =============================================================================*/ $wp_customize->add_section( 'aza_appearance_social_ribbon', array( 'title' => __( 'Social Ribbon', 'aza-lite' ), 'description' => __( 'Social ribbon options.', 'aza-lite' ), 'panel' => 'sections_panel', 'priority' => 20, ) ); /*============================================================================= 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' ) ); /*============================================================================= CONTACT SECTION =============================================================================*/ $wp_customize->add_section( 'aza_appearance_contact', array( 'title' => __( 'Contact Section', 'aza-lite' ), 'description' => __( 'Contact section shortcode', 'aza-lite' ), 'panel' => 'sections_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_input' ) ); $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' => 'sections_panel' ) ); $wp_customize->add_setting( 'frontpage_map_shortcode', array( 'sanitize_callback' => 'aza_sanitize_input' ) ); $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 ) ); } 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 ); } /** * Sanitize variables to allow HTML tags * * @param string $input Text to sanitize. * * @return string */ function aza_sanitize_input( $input ) { return wp_kses_post( force_balance_tags( $input ) ); } /** * 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'); function frontpage_check() { return is_page_template('template-frontpage.php'); }