get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; /* Main option Settings Panel */ $wp_customize->add_panel('wrt_main_options', array( 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __('Writee Options', 'writee'), 'description' => __('Panel to update writee theme options', 'writee'), // Include html tags such as

. 'priority' => 10 // Mixed with top-level-section hierarchy. )); $wp_customize->add_section('wrt_layout_options', array( 'title' => __('Layout Options', 'writee'), 'priority' => 30, 'panel' => 'wrt_main_options' )); $wp_customize->add_setting('wrt_sidebar_position', array( 'default' => '2cr', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_sidebar_position' )); $wp_customize->add_control('wrt_sidebar_position', array( 'label' => __('Website Layout Options', 'writee'), 'section' => 'wrt_layout_options', 'type' => 'select', 'description' => __('Choose between different layout options to be used as default', 'writee'), 'choices' => array( '1c' => __('No Sidebar', 'writee'), '2cl' => __('Left Sidebar', 'writee'), '2cr' => __('Right Sidebar', 'writee') ) )); $wp_customize->add_setting('wrt_blog_post_excerpt', array( 'default' => 'enable', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_radio' )); $wp_customize->add_control('wrt_blog_post_excerpt', array( 'label' => __( 'Blog Excerpt', 'writee' ), 'section' => 'wrt_layout_options', 'type' => 'radio', 'description' => __( 'Turn ON to show auto Excerpt and OFF to show full posts.', 'writee' ), 'choices' => array( 'enable' => __('ON', 'writee'), 'disable' => __('OFF', 'writee'), ) )); /*slider settings */ $wp_customize->add_section('wrt_slider_options', array( 'title' => __('Slider Options', 'writee'), 'priority' => 31, 'panel' => 'wrt_main_options' )); $wp_customize->add_setting('wrt_slider_enable', array( 'default' => 'enable', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_radio' )); $wp_customize->add_control('wrt_slider_enable', array( 'label' => __( 'Display Slider', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'radio', 'description' => '', 'choices' => array( 'enable' => __('ON', 'writee'), 'disable' => __('OFF', 'writee'), ) )); $wp_customize->add_setting('wrt_slider_display_type', array( 'default' => 'fluid', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_slider_style' )); $wp_customize->add_control('wrt_slider_display_type', array( 'label' => __( 'Slider Display Style', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'select', 'description' => '', 'choices' => array( 'fluid' => __('Fluid Layout', 'writee'), 'non-fluid' => __('Non Fluid Layout', 'writee') ) )); $wp_customize->add_setting('wrt_slider_content', array( 'default' => 'latest', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_slider_content' )); $wp_customize->add_control('wrt_slider_content', array( 'label' => __( 'Slider Display Style', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'select', 'description' => '', 'choices' => array( 'latest' => __('Latest added posts', 'writee'), 'category' => __('Specific category', 'writee') ) )); $wp_customize->add_setting('wrt_slider_post_cats', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_strip_slashes' )); $wp_customize->add_control('wrt_slider_post_cats', array( 'label' => __( 'Slider Post Categories', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'text', 'description' => __( 'Add post categories id comma separated (This option valid only for SPECIFIC CATEGORY view selection).', 'writee' ), )); $wp_customize->add_setting('wrt_slider_posts', array( 'default' => '5', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_number' )); $wp_customize->add_control('wrt_slider_posts', array( 'label' => __( 'Number of slides', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'number', 'description' => __( 'Choose the number of slides you want to display', 'writee' ), 'input_attrs' => array( 'min' => 1, 'max' => 12, 'step' => 1, ), )); $wp_customize->add_setting('wrt_slider_content_meta', array( 'default' => 'enable', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_radio' )); $wp_customize->add_control('wrt_slider_content_meta', array( 'label' => __( 'Slider Content Meta', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'radio', 'description' => __( 'Choose slider content meta display or not.', 'writee' ), 'choices' => array( 'enable' => __('ON', 'writee'), 'disable' => __('OFF', 'writee'), ) )); $wp_customize->add_setting('wrt_slider_duration', array( 'default' => '5000', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_number' )); $wp_customize->add_control('wrt_slider_duration', array( 'label' => __( 'Slide Duration', 'writee' ), 'section' => 'wrt_slider_options', 'type' => 'number', 'description' => __( 'Choose the number of slides you want to display', 'writee' ), 'input_attrs' => array( 'min' => 3000, 'max' => 20000, 'step' => 500, ), )); /* color section setting */ $wp_customize->add_section('wrt_color_settinges', array( 'title' => __('Theme Colors Section', 'writee'), 'description' => __('Theme primary color','writee'), 'panel' => 'wrt_main_options', 'priority' => 32, )); $wp_customize->add_setting('wrt_primary_color', array( 'default' => '#bf9e3b', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_hexcolor' )); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'wrt_primary_color', array( 'label' => __('Primary Color', 'writee'), 'section' => 'wrt_color_settinges', ))); /*Typography settings */ $wp_customize->add_section('wrt_typography_options', array( 'title' => __( 'Typography', 'writee' ), 'priority' => 33, 'panel' => 'wrt_main_options' )); $wp_customize->add_setting('wrt_font_url', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_font_url', array( 'label' => __('Google Font URL', 'writee'), 'section' => 'wrt_typography_options', 'type' => 'text', 'description' => sprintf('%1$s %3$s %4$s', __( 'Insert', 'writee' ), esc_url('https://www.google.com/fonts'), __('Google Font URL' , 'writee'), __('for embed fonts.' ,'writee') ), )); $wp_customize->add_setting('wrt_font_family', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_strip_slashes' )); $wp_customize->add_control('wrt_font_family', array( 'label' => __('Font Family', 'writee'), 'section' => 'wrt_typography_options', 'type' => 'text', 'description' => __( 'Insert Font Family.', 'writee' ), )); $wp_customize->add_setting('wrt_font_size', array( 'default' => '14', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_number' )); $wp_customize->add_control('wrt_font_size', array( 'label' => __('Font Size', 'writee'), 'section' => 'wrt_typography_options', 'type' => 'number', 'description' => __( 'Select Font Size.', 'writee' ), 'input_attrs' => array( 'min' => 10, 'max' => 40, 'step' => 1, ), )); $wp_customize->add_setting('wrt_line_height', array( 'default' => '1.2', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_number' )); $wp_customize->add_control('wrt_line_height', array( 'label' => __('Line Height', 'writee'), 'section' => 'wrt_typography_options', 'type' => 'number', 'description' => __( 'Slect Line Height.', 'writee' ), 'input_attrs' => array( 'min' => '0', 'max' => '4', 'step' => '0.1', ), )); $wp_customize->add_setting('wrt_letter_space', array( 'default' => '0', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_number' )); $wp_customize->add_control('wrt_letter_space', array( 'label' => __('Letter Space', 'writee'), 'section' => 'wrt_typography_options', 'type' => 'number', 'description' => __( 'Select Letter Space.', 'writee' ), 'input_attrs' => array( 'min' => '-20', 'max' => '4', 'step' => '1', ), )); /* social media buttons */ $wp_customize->add_section('wrt_social_options', array( 'title' => __( 'Social Media Icons', 'writee' ), 'priority' => 34, 'panel' => 'wrt_main_options' )); $wp_customize->add_setting('wrt_social_button_style', array( 'default' => 'default-colors', 'transport' => 'refresh', 'sanitize_callback' => 'writee_sanitize_social_style' )); $wp_customize->add_control('wrt_social_button_style', array( 'label' => __('Social Button Style', 'writee'), 'section' => 'wrt_social_options', 'type' => 'select', 'choices' => array( 'default-colors' => __('Default Color', 'writee'), 'theme-colors' => __('Theme Color', 'writee'), 'original-colors' => __('Icon Original Color', 'writee') ), )); $wp_customize->add_setting('wrt_facebook', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_facebook', array( 'label' => __('Facebook', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text' )); $wp_customize->add_setting('wrt_twitter', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_twitter', array( 'label' => __('Twitter', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text' )); $wp_customize->add_setting('wrt_instagram', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_instagram', array( 'label' => __('Instagram', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text' )); $wp_customize->add_setting('wrt_googleplus', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_googleplus', array( 'label' => __('Google+', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text' )); $wp_customize->add_setting('wrt_linkedin', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_linkedin', array( 'label' => __('LinkedIn', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text', )); $wp_customize->add_setting('wrt_youtube', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_youtube', array( 'label' => __('YouTube', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text', )); $wp_customize->add_setting('wrt_pinterest', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_pinterest', array( 'label' => __('Pinterest', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text', )); $wp_customize->add_setting('wrt_dribble', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url_raw' )); $wp_customize->add_control('wrt_dribble', array( 'label' => __('Dribbble', 'writee'), 'section' => 'wrt_social_options', 'type' => 'text', )); /* footer section */ $wp_customize->add_section('wrt_footer_content', array( 'title' => __('Footer Section', 'writee'), 'description' => __('Footer section content settings','writee'), 'priority' => 121, )); $wp_customize->add_setting( 'wrt_copyright', array( 'default' => '', 'transport' => 'refresh', // or refresh 'sanitize_callback' => 'writee_sanitize_strip_slashes' ) ); $wp_customize->add_control( 'wrt_copyright', array( 'label' => __( 'Copyright Text', 'writee'), 'type' => 'textarea', 'section' => 'wrt_footer_content', ) ); $wp_customize->add_section( 'theme_detail', array( 'title' => __( 'About Theme', 'writee' ), 'priority' => 160 ) ); $wp_customize->add_setting( 'upgrade_text', array( 'default' => '', 'sanitize_callback' => '__return_false' ) ); $wp_customize->add_control( new Writee_Customize_Static_Text_Control( $wp_customize, 'upgrade_text', array( 'section' => 'theme_detail', 'label' => __( 'About Theme', 'writee' ), 'description' => array( sprintf('Theme Name: %1$s
Version: %2$s
Author: %3$s
Author URL: %5$s
Theme URL: %7$s
', $writee_theme->get( 'Name' ), $writee_theme->get( 'Version' ), $writee_theme->get( 'Author' ), $writee_theme->get( 'AuthorURI' ), $writee_theme->get( 'AuthorURI' ), $writee_theme->get( 'ThemeURI' ), $writee_theme->get( 'ThemeURI' ) ), ), ) ) ); } add_action( 'customize_register', 'writee_theme_customize_register' ); /** * Adds sanitization callback function: Strip Slashes * @package writee */ function writee_sanitize_strip_slashes($input) { return wp_kses_stripslashes($input); } /** * Adds sanitization callback function: colors * @package writee */ function writee_sanitize_hexcolor($color) { if ($unhashed = sanitize_hex_color_no_hash($color)) return '#' . $unhashed; return $color; } /** * Adds sanitization callback function: Number * @package writee */ function writee_sanitize_number($input) { if ( isset( $input ) && is_numeric( $input ) ) { return $input; } } /** * Adds sanitization callback function: Number float * @package writee */ /** * Adds sanitization callback function: Sidebar Layout * @package writee */ function writee_sanitize_sidebar_position( $input ) { $site_layout = array( '1c' => __('No Sidebar', 'writee'), '2cl' => __('Left Sidebar', 'writee'), '2cr' => __('Right Sidebar', 'writee') ); if ( array_key_exists( $input, $site_layout ) ) { return $input; } else { return ''; } } function writee_sanitize_social_style( $input ) { $social_btn_style = array( 'default-colors' => __('Default Color', 'writee'), 'theme-colors' => __('Theme Color', 'writee'), 'original-colors' => __('Icon Original Color', 'writee') ); if ( array_key_exists( $input, $social_btn_style ) ) { return $input; } else { return ''; } } function writee_sanitize_slider_style( $input ) { $slider_style = array( 'fluid' => __('Fluid Layout', 'writee'), 'non-fluid' => __('Non Fluid Layout', 'writee') ); if ( array_key_exists( $input, $slider_style ) ) { return $input; } else { return ''; } } function writee_sanitize_slider_content( $input ) { $slider_style = array( 'latest' => __('Latest added posts', 'writee'), 'category' => __('Specific category', 'writee') ); if ( array_key_exists( $input, $slider_style ) ) { return $input; } else { return ''; } } function writee_sanitize_radio( $input ) { $radio_options = array( 'enable' => __('ON', 'writee'), 'disable' => __('OFF', 'writee') ); if ( array_key_exists( $input, $radio_options ) ) { return $input; } else { return ''; } } /** * Add CSS for custom controls */ function writee_customizer_custom_control_css() { ?> label ) ) : ?>label ); ?>description ) ) : ?>

description ) ) { echo '

' . implode( '

', $this->description ) . '

'; } else { echo $this->description; } ?>

support questions and bug reports is via','writee') ?> .