get_setting('blogname')->transport = 'postMessage'; $wp_customize->get_setting('blogdescription')->transport = 'postMessage'; $wp_customize->get_setting('header_textcolor')->transport = 'postMessage'; //select sanitization function function build_kit_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); } function build_kit_sanitize_image($file, $setting) { $mimes = array( 'jpg|jpeg|jpe' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png', 'bmp' => 'image/bmp', 'tif|tiff' => 'image/tiff', 'ico' => 'image/x-icon' ); //check file type from file name $file_ext = wp_check_filetype($file, $mimes); //if file has a valid mime type return it, otherwise return default return ($file_ext['ext'] ? $file : $setting->default); } $wp_customize->add_setting('build_kit_hide_tagline', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => ' ', 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_hide_tagline', array( 'label' => __('Hide Site Tagline?', 'build-kit'), 'section' => 'title_tagline', 'settings' => 'build_kit_hide_tagline', 'type' => 'checkbox', )); $wp_customize->add_panel('build_kit_settings', array( 'priority' => 50, 'title' => __('Build Kit Theme settings', 'build-kit'), 'description' => __('All Build Kit theme settings', 'build-kit'), )); $wp_customize->add_section('build_kit_header', array( 'title' => __('Build Kit Header Settings', 'build-kit'), 'capability' => 'edit_theme_options', 'description' => __('Build Kit theme header settings', 'build-kit'), 'panel' => 'build_kit_settings', )); // Header Menu bar $wp_customize->add_setting('build_kit_menubar_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => 1, 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_menubar_show', array( 'label' => __('Show Menubar Section?', 'build-kit'), 'section' => 'build_kit_header', 'settings' => 'build_kit_menubar_show', 'type' => 'checkbox', )); $wp_customize->add_setting('build_kit_menubarlogo_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => 1, 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_menubarlogo_show', array( 'label' => __('Show Menubar Logo?', 'build-kit'), 'section' => 'build_kit_header', 'settings' => 'build_kit_menubarlogo_show', 'type' => 'checkbox', 'active_callback' => 'build_kit_menubar_callback', )); $wp_customize->add_setting('build_kit_mainmenu_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => 1, 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_mainmenu_show', array( 'label' => __('Show Main Menu?', 'build-kit'), 'section' => 'build_kit_header', 'settings' => 'build_kit_mainmenu_show', 'type' => 'checkbox', 'active_callback' => 'build_kit_menubar_callback', )); $wp_customize->add_setting('build_kit_menusearch_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => '', 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_menusearch_show', array( 'label' => __('Show Menubar Search Icon?', 'build-kit'), 'section' => 'build_kit_header', 'settings' => 'build_kit_menusearch_show', 'type' => 'checkbox', 'active_callback' => 'build_kit_menubar_callback', )); //Build Kit Home intro $wp_customize->add_section('build_kit_intro', array( 'title' => __('Agency Intro Settings', 'build-kit'), 'capability' => 'edit_theme_options', 'description' => __('Agency Intro section settings', 'build-kit'), 'panel' => 'build_kit_settings', )); $wp_customize->add_setting('build_kit_intro_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => '', 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_intro_show', array( 'label' => __('Show Agency Intro? ', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_show', 'type' => 'checkbox', )); $wp_customize->add_setting('build_kit_intro_img', array( 'capability' => 'edit_theme_options', 'default' => get_template_directory_uri() . '/assets/img/intro.png', 'sanitize_callback' => 'build_kit_sanitize_image', )); $wp_customize->add_control(new WP_Customize_Image_Control( $wp_customize, 'build_kit_intro_img', array( 'label' => __('Upload Profile Image', 'build-kit'), 'description' => __('Image size should be 450px width & 460px height for better view.', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_img', ) )); $wp_customize->add_setting('build_kit_intro_subtitle', array( 'default' => __('WELCOME TO YOU BUILDKIT', 'build-kit'), 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_intro_subtitle', array( 'label' => __('Intro Subtitle', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_subtitle', 'type' => 'text', )); $wp_customize->add_setting('build_kit_intro_title', array( 'default' => __('We Building For A Better Futures', 'build-kit'), 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_intro_title', array( 'label' => __('Intro Title', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_title', 'type' => 'text', )); $wp_customize->add_setting('build_kit_intro_desc', array( 'default' => '', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'wp_kses_post', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_intro_desc', array( 'label' => __('Intro Description', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_desc', 'type' => 'textarea', )); $wp_customize->add_setting('build_kit_header_social_show', array( 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'default' => '', 'sanitize_callback' => 'absint', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_header_social_show', array( 'label' => __('Show Header Social?', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_header_social_show', 'type' => 'checkbox', )); // header social links start // Header facebook url $wp_customize->add_setting('build_kit_header_btnurl', array( 'default' => '#', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_header_btnurl', array( 'label' => __('Button url', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_hfacebook_link', 'type' => 'url', 'active_callback' => 'build_kit_header_social_callback', )); $wp_customize->add_setting('build_kit_intro_btntext', array( 'default' => __('Get Started', 'build-kit'), 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_intro_btntext', array( 'label' => __('Button Text', 'build-kit'), 'section' => 'build_kit_intro', 'settings' => 'build_kit_intro_btntext', 'type' => 'text', )); //Build Kit PLus blog settings $wp_customize->add_section('build_kit_blog', array( 'title' => __('Build Kit Blog Settings', 'build-kit'), 'capability' => 'edit_theme_options', 'description' => __('Build Kit theme blog settings', 'build-kit'), 'panel' => 'build_kit_settings', )); $wp_customize->add_setting('build_kit_blog_container', array( 'default' => 'container', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'build_kit_sanitize_select', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_blog_container', array( 'label' => __('Container type', 'build-kit'), 'description' => __('You can set standard container or full width container. ', 'build-kit'), 'section' => 'build_kit_blog', 'settings' => 'build_kit_blog_container', 'type' => 'select', 'choices' => array( 'container' => __('Standard Container', 'build-kit'), 'container-fluid' => __('Full width Container', 'build-kit'), ), )); $wp_customize->add_setting('build_kit_blog_layout', array( 'default' => 'rightside', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'build_kit_sanitize_select', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_blog_layout', array( 'label' => __('Select Blog Layout', 'build-kit'), 'description' => __('Right and Left sidebar only show when sidebar widget is available. ', 'build-kit'), 'section' => 'build_kit_blog', 'settings' => 'build_kit_blog_layout', 'type' => 'select', 'choices' => array( 'rightside' => __('Right Sidebar', 'build-kit'), 'leftside' => __('Left Sidebar', 'build-kit'), 'fullwidth' => __('No Sidebar', 'build-kit'), ), )); $wp_customize->add_setting('build_kit_blog_style', array( 'default' => 'grid', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'build_kit_sanitize_select', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_blog_style', array( 'label' => __('Select Blog Style', 'build-kit'), 'section' => 'build_kit_blog', 'settings' => 'build_kit_blog_style', 'type' => 'select', 'choices' => array( 'grid' => __('Grid Style', 'build-kit'), 'list' => __('List Style', 'build-kit'), 'classic' => __('Classic Style', 'build-kit'), ), )); //Build Kit page settings $wp_customize->add_section('build_kit_page', array( 'title' => __('Build Kit Page Settings', 'build-kit'), 'capability' => 'edit_theme_options', 'description' => __('Build Kit theme blog settings', 'build-kit'), 'panel' => 'build_kit_settings', )); $wp_customize->add_setting('build_kit_page_container', array( 'default' => 'container', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'build_kit_sanitize_select', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_page_container', array( 'label' => __('Page Container type', 'build-kit'), 'description' => __('You can set standard container or full width container for page. ', 'build-kit'), 'section' => 'build_kit_page', 'settings' => 'build_kit_page_container', 'type' => 'select', 'choices' => array( 'container' => __('Standard Container', 'build-kit'), 'container-fluid' => __('Full width Container', 'build-kit'), ), )); $wp_customize->add_setting('build_kit_page_header', array( 'default' => 'show', 'capability' => 'edit_theme_options', 'type' => 'theme_mod', 'sanitize_callback' => 'build_kit_sanitize_select', 'transport' => 'refresh', )); $wp_customize->add_control('build_kit_page_header', array( 'label' => __('Show Page header', 'build-kit'), 'section' => 'build_kit_page', 'settings' => 'build_kit_page_header', 'type' => 'select', 'choices' => array( 'show' => __('Show all pages', 'build-kit'), 'hide-home' => __('Hide Only Front Page', 'build-kit'), 'hide' => __('Hide All Pages', 'build-kit'), ), )); if (isset($wp_customize->selective_refresh)) { $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'build_kit_customize_partial_blogname', ) ); $wp_customize->selective_refresh->add_partial( 'blogdescription', array( 'selector' => '.site-description', 'render_callback' => 'build_kit_customize_partial_blogdescription', ) ); } } add_action('customize_register', 'build_kit_customize_register'); /** * Render the site title for the selective refresh partial. * * @return void */ function build_kit_customize_partial_blogname() { bloginfo('name'); } /** * Render the site tagline for the selective refresh partial. * * @return void */ function build_kit_customize_partial_blogdescription() { bloginfo('description'); } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function build_kit_customize_preview_js() { wp_enqueue_script('build-kit-customizer', get_template_directory_uri() . '/assets/js/customizer.js', array('customize-preview'), BUILD_KIT_VERSION, true); } add_action('customize_preview_init', 'build_kit_customize_preview_js');