add_setting( 'biscore_primary_color_setting', array( 'default' => '#43c6ac', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'biscore_primary_color_control', array( 'section' => 'colors', 'label' => esc_html__( 'Primary Color', 'biscore' ), 'settings' => 'biscore_primary_color_setting', ) ) ); /******************************** Secondary Color *****************************/ $wp_customize->add_setting( 'biscore_secondary_color_setting', array( 'default' => '#f6f163', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'biscore_secondary_color_control', array( 'section' => 'colors', 'label' => esc_html__( 'Secondary Color', 'biscore' ), 'settings' => 'biscore_secondary_color_setting', ) ) ); /******************************** Site Description Switch *****************************/ $wp_customize->add_setting( 'biscore_site_description_switch_setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, 'biscore-site-description-switch-control', array( 'label' => __( 'Enable Site Desctiption?', 'biscore' ), 'section' => 'title_tagline', 'settings' => 'biscore_site_description_switch_setting', 'type' => 'ios', ) ) ); /***************************************************************************** * Topbar Section ******************************************************************************/ $wp_customize->add_section( 'biscore-topbar-section', array( 'title' => __( 'Topbar Setup', 'biscore' ), 'priority' => 1 ) ); // Topbar Switch $wp_customize->add_setting( 'biscore-topbar-switch-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, 'biscore-topbar-switch-control', array( 'label' => __( 'Enable Topbar?', 'biscore' ), 'section' => 'biscore-topbar-section', 'settings' => 'biscore-topbar-switch-setting', 'type' => 'ios', ) ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'biscore-introduction-hidden-description-control', array( 'description' => __( 'Goto Widgets section and add widgets for topbar contents. For Social Media links, goto Menus and create a menu and add your social media links and set the menu location as Social Menu.', 'biscore' ), 'section' => 'biscore-topbar-section', 'settings' => 'biscore-topbar-switch-setting', 'type' => 'hidden', 'active_callback' => 'biscore_flag_is_topbar_diabled', ) ) ); } add_action( 'customize_register', 'biscore_general_setup' ); function biscore_homepage_setup( $wp_customize ) { /******************************************************************************* * Homepage Slider ******************************************************************************/ // Add Panel Front Page $wp_customize->add_panel( 'biscore-frontpage', array( 'priority' => 10, 'capability' => 'edit_theme_options', 'title' => __( 'Home Page Setup', 'biscore' ), 'description' => '', ) ); $wp_customize->add_section( 'biscore-slider-section', array( 'title' => __( 'Front Page Slider', 'biscore' ), 'priority' => 10, 'panel' => 'biscore-frontpage' ) ); // Slider Switch $wp_customize->add_setting( 'biscore-slider-switch-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, 'biscore-slider-switch-control', array( 'label' => __( 'Enable Slider?', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => 'biscore-slider-switch-setting', 'type' => 'ios', ) ) ); for ( $biscore_count = 1; $biscore_count < 5; $biscore_count++ ) { // Call Slider pages $wp_customize->add_setting( "biscore-slider-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-slider-control-$biscore_count", array( /* Translators: %s: Page number */ 'label' => sprintf( __( 'Select Slider Page %s', 'biscore' ), $biscore_count ), 'description' => __( 'Select from your existing pages for slider title. Add featured image to the selected pages for slider background.', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-setting-$biscore_count", 'type' => 'dropdown-pages', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); // Excerpt Switch $wp_customize->add_setting( "biscore-slider-excerpt-switch-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); // Button 1 text and url - Text Field $wp_customize->add_setting( "biscore-slider-button1-text-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-slider-button1-text-control-$biscore_count", array( 'label' => __( 'First button Title', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-button1-text-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); $wp_customize->add_setting( "biscore-slider-button1-url-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-slider-button1-url-control-$biscore_count", array( 'label' => __( 'First button link', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-button1-url-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); // Button 2 text and url - Text Field $wp_customize->add_setting( "biscore-slider-button2-text-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-slider-button2-text-control-$biscore_count", array( 'label' => __( 'Second button Title', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-button2-text-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); $wp_customize->add_setting( "biscore-slider-button2-url-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-slider-button2-url-control-$biscore_count", array( 'label' => __( 'Second button link', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-button2-url-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); $wp_customize->selective_refresh->add_partial( "biscore-slider-partial-$biscore_count", array( 'selector' => ".slider-content-$biscore_count", 'container_inclusive' => true, 'settings' => "biscore-slider-setting-$biscore_count", ) ); } // Slider Settings Headline $wp_customize->add_setting( 'biscore-slider-options-headline-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, "biscore-slider-options-headline-control", array( 'label' => __( 'Slider Settings', 'biscore' ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-options-headline-setting", 'type' => 'hidden', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); for ( $biscore_count = 0; $biscore_count < 4; $biscore_count++ ) { $biscore_individual_option = array( __( 'Enable Carousel Dots?', 'biscore' ), __( 'Enable Arrows?', 'biscore' ), __( 'Enable Fade Effect?', 'biscore' ), __( 'Enable Autoplay?', 'biscore' ), ); // Slider Settings $wp_customize->add_setting( "biscore-slider-options-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => true ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, "biscore-slider-options-control-$biscore_count", array( /* Translators: %s: Field Titles */ 'label' => sprintf( '%s' , $biscore_individual_option[ $biscore_count ] ), 'section' => 'biscore-slider-section', 'settings' => "biscore-slider-options-setting-$biscore_count", 'type' => 'ios', 'active_callback' => 'biscore_flag_is_slider_diabled', ) ) ); } /******************************************************************************* * Services Section ******************************************************************************/ $wp_customize->add_section( 'biscore-services-section', array( 'title' => __( 'Services', 'biscore' ), 'priority' => 10, 'panel' => 'biscore-frontpage' ) ); // Services Switch $wp_customize->add_setting( 'biscore-services-switch-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, 'biscore-services-switch-control', array( 'label' => __( 'Enable Services?', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => 'biscore-services-switch-setting', 'type' => 'ios', ) ) ); // Services Subtitle - Text Field $wp_customize->add_setting( 'biscore-services-subtitle-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'biscore-services-subtitle-control', array( 'label' => __( 'Services Subtitle', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => 'biscore-services-subtitle-setting', 'type' => 'text', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); $wp_customize->selective_refresh->add_partial( 'biscore-services-subtitle-partial', array( 'selector' => '.services-subtitle', 'container_inclusive' => true, 'settings' => 'biscore-services-subtitle-setting', ) ); // Call Services page $wp_customize->add_setting( 'biscore-services-page-setting', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'biscore-services-page-control', array( 'label' => __( 'Services Title Content', 'biscore' ), 'description' => __( 'Select from your existing pages for Services title content.', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => 'biscore-services-page-setting', 'type' => 'dropdown-pages', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); $wp_customize->selective_refresh->add_partial( 'biscore-services-page-partial', array( 'selector' => '.services-title', 'container_inclusive' => true, 'settings' => 'biscore-services-page-setting', ) ); for ( $biscore_count = 1; $biscore_count < 7; $biscore_count++ ) { // Features Icon - Text Field $wp_customize->add_setting( "biscore-service-icon-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field', 'default' => 'fa-line-chart' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-service-icon-control-$biscore_count", array( /* Translators: %s: Icon numbers */ 'label' => sprintf( __( 'Feature Icon %s', 'biscore' ), $biscore_count ), /* Translators: %s: Font Awesome url */ 'description' => sprintf( __( 'Please input icon as eg: fa-star. Find Font-awesome icons %1$shere%2$s', 'biscore' ), '', '' ), 'section' => 'biscore-services-section', 'settings' => "biscore-service-icon-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); // Call Service pages $wp_customize->add_setting( "biscore-service-content-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-service-content-control-$biscore_count", array( /* Translators: %s: Service numbers */ 'label' => sprintf( __( 'Select Service %s', 'biscore' ), $biscore_count ), 'description' => __( 'Select from your existing pages for service content.', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => "biscore-service-content-setting-$biscore_count", 'type' => 'dropdown-pages', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); $wp_customize->selective_refresh->add_partial( "biscore-services-page-partial-$biscore_count", array( 'selector' => ".service-content-$biscore_count", 'container_inclusive' => true, 'settings' => "biscore-service-content-setting-$biscore_count", ) ); // Read more Switch $wp_customize->add_setting( "biscore-services-readmore-switch-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'absint', 'default' => false ) ); $wp_customize->add_control( new Biscore_Customizer_Toggle_Control( $wp_customize, "biscore-services-readmore-switch-control-$biscore_count", array( 'label' => __( 'Enable Read more link?', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => "biscore-services-readmore-switch-setting-$biscore_count", 'type' => 'ios', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); // Read More - Text Field $wp_customize->add_setting( "biscore-services-readmore-text-setting-$biscore_count", array( 'capability' => 'edit_theme_options', 'default' => __( 'Read More', 'biscore' ), 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, "biscore-services-readmore-text-control-$biscore_count", array( 'label' => __( 'Read More Text', 'biscore' ), 'section' => 'biscore-services-section', 'settings' => "biscore-services-readmore-text-setting-$biscore_count", 'type' => 'text', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); } /******************************** Services Background Color *****************************/ $wp_customize->add_setting( 'biscore_services_background_color_setting', array( 'default' => '#fff', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'biscore_services_background_color_control', array( 'section' => 'biscore-services-section', 'label' => esc_html__( 'Background Color', 'biscore' ), 'settings' => 'biscore_services_background_color_setting', 'active_callback' => 'biscore_flag_is_services_diabled', ) ) ); } add_action( 'customize_register', 'biscore_homepage_setup'); /** * Sanitization: image */ function biscore_sanitize_select( $input ) { $valid = array( 'six' => 'Two', 'four' => 'Three', 'three' => 'Four', ); if ( array_key_exists( $input, $valid ) ) { return $input; } else { return ''; } } /** * Sanitization: image * Control: text, WP_Customize_Image_Control * * Sanitization callback for images. * * @uses esc_url_raw() http://codex.wordpress.org/Function_Reference/esc_url_raw */ function biscore_sanitize_image( $input, $setting ) { return esc_url_raw( biscore_validate_image( $input, $setting->default ) ); } /** * Validation: image * Control: text, WP_Customize_Image_Control * * @uses wp_check_filetype() https://developer.wordpress.org/reference/functions/wp_check_filetype/ * @uses in_array() http://php.net/manual/en/function.in-array.php */ function biscore_validate_image( $input, $default = '' ) { // Array of valid image file types // The array includes image mime types // that are included in wp_get_mime_types() $mimes = array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'tif|tiff' => 'image/tiff', 'ico' => 'image/x-icon' ); // Return an array with file extension // and mime_type $file = wp_check_filetype( $input, $mimes ); // If $input has a valid mime_type, // return it; otherwise, return // the default. return ( $file['ext'] ? $input : $default ); } get_template_part( '/inc/customizer/active-callbacks' );