get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; $wp_customize->get_section( 'title_tagline' )->priority = '9'; $wp_customize->get_section( 'title_tagline' )->title = __('Site branding', 'theshop'); $wp_customize->get_section( 'title_tagline' )->panel = 'theshop_header_panel'; $wp_customize->remove_control( 'header_textcolor' ); $wp_customize->remove_control( 'display_header_text' ); //Titles class TheShop_Info extends WP_Customize_Control { public $type = 'info'; public $label = ''; public function render_content() { ?>

label ); ?>

add_section( 'theshop_general', array( 'title' => __('General', 'theshop'), 'priority' => 9, ) ); //___Preloader___// $wp_customize->add_setting( 'preloader_text', array( 'sanitize_callback' => 'theshop_sanitize_text', 'default' => __('Loading…','theshop'), ) ); $wp_customize->add_control( 'preloader_text', array( 'label' => __( 'Preloader text', 'theshop' ), 'section' => 'theshop_general', 'type' => 'text', 'priority' => 11 ) ); //___Header area___// $wp_customize->add_panel( 'theshop_header_panel', array( 'priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __('Header area', 'theshop'), ) ); //Logo Upload $wp_customize->add_setting( 'site_logo', array( 'default-image' => '', 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'site_logo', array( 'label' => __( 'Upload your logo', 'theshop' ), 'type' => 'image', 'section' => 'title_tagline', 'settings' => 'site_logo', 'priority' => 11, ) ) ); //Logo size $wp_customize->add_setting( 'logo_size', array( 'sanitize_callback' => 'absint', 'default' => '80', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'logo_size', array( 'type' => 'number', 'priority' => 12, 'section' => 'title_tagline', 'label' => __('Logo size', 'theshop'), 'description' => __('Max-height for the logo. Default 80px', 'theshop'), 'input_attrs' => array( 'min' => 50, 'max' => 600, 'step' => 5, 'style' => 'margin-bottom: 15px; padding: 15px;', ), ) ); //___Promo boxes___// $wp_customize->add_section( 'theshop_header_boxes', array( 'title' => __('Promo boxes', 'theshop'), 'priority' => 11, 'panel' => 'theshop_header_panel', 'description' => '' . __('You can find a full set of available icons ', 'theshop') . '' . __('here', 'theshop') . '' ) ); //Box 1 $wp_customize->add_setting( 'block_icon_1', array( 'default' => 'fa-rocket', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_icon_1', array( 'label' => __( 'Box 1 icon', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); $wp_customize->add_setting( 'block_text_1', array( 'default' => __( 'Free shipping', 'theshop' ), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_text_1', array( 'label' => __( 'Box 1 text', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); //Box 2 $wp_customize->add_setting( 'block_icon_2', array( 'default' => 'fa-money', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_icon_2', array( 'label' => __( 'Box 2 icon', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); $wp_customize->add_setting( 'block_text_2', array( 'default' => __( 'Friendly prices', 'theshop' ), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_text_2', array( 'label' => __( 'Box 2 text', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); //Box 3 $wp_customize->add_setting( 'block_icon_3', array( 'default' => 'fa-clock-o', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_icon_3', array( 'label' => __( 'Box 3 icon', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); $wp_customize->add_setting( 'block_text_3', array( 'default' => __( 'Always on time', 'theshop' ), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'block_text_3', array( 'label' => __( 'Box 3 text', 'theshop' ), 'section' => 'theshop_header_boxes', 'type' => 'text', 'priority' => 10 ) ); //___Header type___// $wp_customize->add_section( 'theshop_header_type', array( 'title' => __('Header type', 'theshop'), 'priority' => 11, 'panel' => 'theshop_header_panel', ) ); $wp_customize->add_setting( 'header_active_front', array( 'default' => 'full', 'sanitize_callback' => 'theshop_sanitize_header_style', ) ); $wp_customize->add_control( 'header_active_front', array( 'type' => 'radio', 'priority' => 11, 'label' => __('Homepage header type', 'theshop'), 'description' => __('Please note that this applies only when you have set a static front page.', 'theshop'), 'section' => 'theshop_header_type', 'choices' => array( 'top-bar' => __('Only top bar', 'theshop'), 'full' => __('Full header area (top bar, side menu, slider)', 'theshop'), ), ) ); $wp_customize->add_setting( 'header_active_site', array( 'default' => 'top-bar', 'sanitize_callback' => 'theshop_sanitize_header_style', ) ); $wp_customize->add_control( 'header_active_site', array( 'type' => 'radio', 'priority' => 11, 'label' => __('Site header type', 'theshop'), 'description' => __('Applies to all pages except the homepage.', 'theshop'), 'section' => 'theshop_header_type', 'choices' => array( 'top-bar' => __('Only top bar', 'theshop'), 'full' => __('Full header area (top bar, side menu, slider)', 'theshop'), ), ) ); //___Menu style___// $wp_customize->add_section( 'theshop_menu_style', array( 'title' => __('Menu style', 'theshop'), 'priority' => 15, 'panel' => 'theshop_header_panel', ) ); //Menu style $wp_customize->add_setting( 'menu_style', array( 'default' => 'inline', 'sanitize_callback' => 'theshop_sanitize_menu_style', ) ); $wp_customize->add_control( 'menu_style', array( 'type' => 'radio', 'priority' => 11, 'label' => __('Menu style', 'theshop'), 'section' => 'theshop_menu_style', 'choices' => array( 'inline' => __('Inline', 'theshop'), 'centered' => __('Centered', 'theshop'), ), ) ); //Padding $wp_customize->add_setting( 'branding_padding', array( 'sanitize_callback' => 'absint', 'default' => '30', ) ); $wp_customize->add_control( 'branding_padding', array( 'type' => 'number', 'priority' => 14, 'section' => 'theshop_menu_style', 'label' => __('Top bar padding', 'theshop'), 'description' => __('Top&bottom padding for the top bar. Default: 30px', 'theshop'), 'input_attrs' => array( 'min' => 0, 'max' => 200, 'step' => 5, 'style' => 'padding: 15px;', ), ) ); //___Side menu___// $wp_customize->add_section( 'theshop_slider', array( 'title' => __('Slider', 'theshop'), 'priority' => 16, 'panel' => 'theshop_header_panel', 'description' => '' . __('The slider supports up to five images. Recommended sizes: 830 X 550px (if the side menu is enabled) and 1140 X 600px (if the side menu is disabled)', 'theshop') . '', ) ); //Image 1 $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new theshop_Info( $wp_customize, 's1', array( 'label' => __('First slide', 'theshop'), 'section' => 'theshop_slider', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); $wp_customize->add_setting( 'slider_image_1', array( 'default' => get_template_directory_uri() . '/images/1.jpg', 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_1', array( 'label' => __( 'Slider image 1', 'theshop' ), 'type' => 'image', 'section' => 'theshop_slider', 'priority' => 10, ) ) ); //Link $wp_customize->add_setting( 'slider_link_1', array( 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'slider_link_1', array( 'label' => __( 'Link for this slide', 'theshop' ), 'section' => 'theshop_slider', 'type' => 'text', 'priority' => 10 ) ); //Image 2 $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new theshop_Info( $wp_customize, 's2', array( 'label' => __('Second slide', 'theshop'), 'section' => 'theshop_slider', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); $wp_customize->add_setting( 'slider_image_2', array( 'default' => get_template_directory_uri() . '/images/2.jpg', 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_2', array( 'label' => __( 'Slider image 2', 'theshop' ), 'type' => 'image', 'section' => 'theshop_slider', 'priority' => 10, ) ) ); //Link $wp_customize->add_setting( 'slider_link_2', array( 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'slider_link_2', array( 'label' => __( 'Link for this slide', 'theshop' ), 'section' => 'theshop_slider', 'type' => 'text', 'priority' => 10 ) ); //Image 3 $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new theshop_Info( $wp_customize, 's3', array( 'label' => __('Third slide', 'theshop'), 'section' => 'theshop_slider', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); $wp_customize->add_setting( 'slider_image_3', array( 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_3', array( 'label' => __( 'Slider image 3', 'theshop' ), 'type' => 'image', 'section' => 'theshop_slider', 'priority' => 10, ) ) ); //Link $wp_customize->add_setting( 'slider_link_3', array( 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'slider_link_3', array( 'label' => __( 'Link for this slide', 'theshop' ), 'section' => 'theshop_slider', 'type' => 'text', 'priority' => 10 ) ); //Image 4 $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new theshop_Info( $wp_customize, 's4', array( 'label' => __('Fourth slide', 'theshop'), 'section' => 'theshop_slider', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); $wp_customize->add_setting( 'slider_image_4', array( 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_4', array( 'label' => __( 'Slider image 4', 'theshop' ), 'type' => 'image', 'section' => 'theshop_slider', 'priority' => 10, ) ) ); //Link $wp_customize->add_setting( 'slider_link_4', array( 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'slider_link_4', array( 'label' => __( 'Link for this slide', 'theshop' ), 'section' => 'theshop_slider', 'type' => 'text', 'priority' => 10 ) ); //Image 5 $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new theshop_Info( $wp_customize, 's5', array( 'label' => __('Fifth slide', 'theshop'), 'section' => 'theshop_slider', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); $wp_customize->add_setting( 'slider_image_5', array( 'sanitize_callback' => 'esc_url_raw', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'slider_image_5', array( 'label' => __( 'Slide image 5', 'theshop' ), 'type' => 'image', 'section' => 'theshop_slider', 'priority' => 10, ) ) ); //Link $wp_customize->add_setting( 'slider_link_5', array( 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'slider_link_5', array( 'label' => __( 'Link for this slide', 'theshop' ), 'section' => 'theshop_slider', 'type' => 'text', 'priority' => 10 ) ); //___Side menu___// $wp_customize->add_section( 'theshop_secondary_menu', array( 'title' => __('Side menu', 'theshop'), 'priority' => 17, 'panel' => 'theshop_header_panel', 'description' => '

' . __('To configure your side menu, go to Appearance > Menus, create a menu and assign it to the Side Menu position.', 'theshop') . '

' . __('Notes:
1. the side menu only shows up if your slider is active;
2. hiding the menu makes the slider full width.', 'theshop') . '

', ) ); $wp_customize->add_setting( 'side_menu', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'side_menu', array( 'type' => 'checkbox', 'label' => __('Hide the side menu?', 'theshop'), 'section' => 'theshop_secondary_menu', 'priority' => 10, ) ); //___Sections___// $wp_customize->add_panel( 'theshop_sections', array( 'priority' => 12, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __('Homepage sections', 'theshop'), ) ); //___Content___// $wp_customize->add_section( 'sections_content', array( 'title' => __('Sections content', 'theshop'), 'priority' => 10, 'panel' => 'theshop_sections' ) ); $wp_customize->add_control( new TheShop_Info( $wp_customize, 'sectionc1', array( 'label' => __('Latest products', 'theshop'), 'section' => 'sections_content', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); //Activate $wp_customize->add_setting( 'products_activate', array( 'default' => 1, 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'products_activate', array( 'type' => 'checkbox', 'label' => __('Activate this section?', 'theshop'), 'section' => 'sections_content', 'priority' => 11, ) ); //Title $wp_customize->add_setting( 'products_title', array( 'default' => __('Latest products', 'theshop'), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'products_title', array( 'label' => __( 'Section title', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 12 ) ); //Number $wp_customize->add_setting( 'products_number', array( 'sanitize_callback' => 'absint', 'default' => '4', ) ); $wp_customize->add_control( 'products_number', array( 'type' => 'number', 'priority' => 13, 'section' => 'sections_content', 'label' => __('Number of products', 'theshop'), 'input_attrs' => array( 'min' => 1, 'max' => 20, 'step' => 1, 'style' => 'padding: 5px 10px;', ), ) ); //CTA $wp_customize->add_control( new TheShop_Info( $wp_customize, 'sectionc2', array( 'label' => __('Call to action', 'theshop'), 'section' => 'sections_content', 'settings' => 'theshop_options[info]', 'priority' => 14 ) ) ); //Activate $wp_customize->add_setting( 'cta_activate', array( 'default' => 1, 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'cta_activate', array( 'type' => 'checkbox', 'label' => __('Activate this section?', 'theshop'), 'section' => 'sections_content', 'priority' => 15, ) ); //Text $wp_customize->add_setting( 'cta_text', array( 'default' => __('Are you ready to see more?', 'theshop'), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'cta_text', array( 'label' => __( 'Text', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 16 ) ); //Button $wp_customize->add_setting( 'cta_button_title', array( 'default' => __('VISIT OUR SHOP', 'theshop'), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'cta_button_title', array( 'label' => __( 'Button title', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 17 ) ); $wp_customize->add_setting( 'cta_button_url', array( 'default' => '#', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'cta_button_url', array( 'label' => __( 'Button URL', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 18 ) ); //Cats $wp_customize->add_control( new TheShop_Info( $wp_customize, 'sectionc3', array( 'label' => __('Product categories', 'theshop'), 'section' => 'sections_content', 'settings' => 'theshop_options[info]', 'priority' => 19 ) ) ); //Activate $wp_customize->add_setting( 'cats_activate', array( 'default' => 1, 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'cats_activate', array( 'type' => 'checkbox', 'label' => __('Activate this section?', 'theshop'), 'section' => 'sections_content', 'priority' => 20, ) ); //Title $wp_customize->add_setting( 'cats_title', array( 'default' => __('Product categories', 'theshop'), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'cats_title', array( 'label' => __( 'Section title', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 21 ) ); //Number $wp_customize->add_setting( 'cats_number', array( 'sanitize_callback' => 'absint', 'default' => '3', ) ); $wp_customize->add_control( 'cats_number', array( 'type' => 'number', 'priority' => 22, 'section' => 'sections_content', 'label' => __('Number of categories', 'theshop'), 'input_attrs' => array( 'min' => 1, 'max' => 20, 'step' => 1, 'style' => 'padding: 5px 10px;', ), ) ); //Posts $wp_customize->add_control( new TheShop_Info( $wp_customize, 'sectionc4', array( 'label' => __('Latest posts', 'theshop'), 'section' => 'sections_content', 'settings' => 'theshop_options[info]', 'priority' => 23 ) ) ); //Activate $wp_customize->add_setting( 'posts_activate', array( 'default' => 1, 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'posts_activate', array( 'type' => 'checkbox', 'label' => __('Activate this section?', 'theshop'), 'section' => 'sections_content', 'priority' => 24, ) ); //Title $wp_customize->add_setting( 'posts_title', array( 'default' => __('Latest posts', 'theshop'), 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'posts_title', array( 'label' => __( 'Section title', 'theshop' ), 'section' => 'sections_content', 'type' => 'text', 'priority' => 25 ) ); //___Order___// $wp_customize->add_section( 'sections_order', array( 'title' => __('Sections order', 'theshop'), 'priority' => 10, 'panel' => 'theshop_sections' ) ); $section_types = array( 'products' => __('Latest products', 'theshop'), 'cta' => __('Call to action', 'theshop'), 'cats' => __('Product categories', 'theshop'), 'posts' => __('Latest posts', 'theshop'), ); $i = 1; foreach ($section_types as $key => $section) { $wp_customize->add_setting( 'section_' . $i, array( 'default' => $key, 'sanitize_callback' => 'theshop_sanitize_section_order', ) ); $wp_customize->add_control( 'section_' . $i, array( 'type' => 'select', 'priority' => 10, 'label' => __('Section ', 'theshop') . $i, 'section' => 'sections_order', 'choices' => $section_types ) ); $i++; } //___Styling___// $wp_customize->add_section( 'sections_styles', array( 'title' => __('Sections styling', 'theshop'), 'priority' => 10, 'panel' => 'theshop_sections' ) ); $bg_defaults = array('#fff', '#2C292A', '#f7f7f7', '#fff'); $color_defaults = array('#8C8F94', '#fff', '#8C8F94', '#8C8F94'); $i = 1; foreach ($section_types as $key => $section) { $wp_customize->add_control( new TheShop_Info( $wp_customize, 'sectionstyles' . $i, array( 'label' => $section, 'section' => 'sections_styles', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); //Background color $wp_customize->add_setting( $key . '_bg_color', array( 'default' => $bg_defaults[$i-1], 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $key . '_bg_color', array( 'label' => __('Background color', 'theshop'), 'section' => 'sections_styles', 'priority' => 10 ) ) ); //Color $wp_customize->add_setting( $key . '_color', array( 'default' => $color_defaults[$i-1], 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $key . '_color', array( 'label' => __('Text color', 'theshop'), 'section' => 'sections_styles', 'priority' => 10 ) ) ); $i++; } //___Blog options___// $wp_customize->add_section( 'blog_options', array( 'title' => __('Blog options', 'theshop'), 'priority' => 13, ) ); // Blog layout $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new TheShop_Info( $wp_customize, 'layout', array( 'label' => __('Layout', 'theshop'), 'section' => 'blog_options', 'settings' => 'theshop_options[info]', 'priority' => 10 ) ) ); //Full width singles $wp_customize->add_setting( 'fullwidth_single', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'fullwidth_single', array( 'type' => 'checkbox', 'label' => __('Full width single posts?', 'theshop'), 'section' => 'blog_options', 'priority' => 12, ) ); //Content/excerpt $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new TheShop_Info( $wp_customize, 'content', array( 'label' => __('Excerpt', 'theshop'), 'section' => 'blog_options', 'settings' => 'theshop_options[info]', 'priority' => 13 ) ) ); //Excerpt $wp_customize->add_setting( 'exc_lenght', array( 'sanitize_callback' => 'absint', 'default' => '35', ) ); $wp_customize->add_control( 'exc_lenght', array( 'type' => 'number', 'priority' => 16, 'section' => 'blog_options', 'label' => __('Excerpt lenght', 'theshop'), 'description' => __('Excerpt length [default: 55 words]', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 200, 'step' => 5, 'style' => 'padding: 15px;', ), ) ); //Meta $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new TheShop_Info( $wp_customize, 'meta', array( 'label' => __('Meta', 'theshop'), 'section' => 'blog_options', 'settings' => 'theshop_options[info]', 'priority' => 17 ) ) ); //Hide meta index $wp_customize->add_setting( 'hide_meta_index', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', 'default' => 0, ) ); $wp_customize->add_control( 'hide_meta_index', array( 'type' => 'checkbox', 'label' => __('Hide post meta on index, archives?', 'theshop'), 'section' => 'blog_options', 'priority' => 18, ) ); //Hide meta single $wp_customize->add_setting( 'hide_meta_single', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', 'default' => 0, ) ); $wp_customize->add_control( 'hide_meta_single', array( 'type' => 'checkbox', 'label' => __('Hide post meta on single posts?', 'theshop'), 'section' => 'blog_options', 'priority' => 19, ) ); //Featured images $wp_customize->add_setting('theshop_options[info]', array( 'type' => 'info_control', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new TheShop_Info( $wp_customize, 'images', array( 'label' => __('Featured images', 'theshop'), 'section' => 'blog_options', 'settings' => 'theshop_options[info]', 'priority' => 21 ) ) ); //Index images $wp_customize->add_setting( 'index_feat_image', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'index_feat_image', array( 'type' => 'checkbox', 'label' => __('Hide featured images on index, archives?', 'theshop'), 'section' => 'blog_options', 'priority' => 22, ) ); //Post images $wp_customize->add_setting( 'post_feat_image', array( 'sanitize_callback' => 'theshop_sanitize_checkbox', ) ); $wp_customize->add_control( 'post_feat_image', array( 'type' => 'checkbox', 'label' => __('Hide featured images on single posts?', 'theshop'), 'section' => 'blog_options', 'priority' => 23, ) ); //___Fonts___// $wp_customize->add_section( 'theshop_fonts', array( 'title' => __('Fonts', 'theshop'), 'priority' => 15, 'description' => __('You can use any Google Fonts you want for the heading and/or body. See the fonts here: google.com/fonts. See the documentation if you need help with this: athemes.com/documentation/theshop', 'theshop'), ) ); //Body fonts $wp_customize->add_setting( 'body_font_name', array( 'default' => 'Open+Sans:400,400italic,600,600italic', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'body_font_name', array( 'label' => __( 'Body font name/style/sets', 'theshop' ), 'section' => 'theshop_fonts', 'type' => 'text', 'priority' => 11 ) ); //Body fonts family $wp_customize->add_setting( 'body_font_family', array( 'default' => '\'Open Sans\', serif', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'body_font_family', array( 'label' => __( 'Body font family', 'theshop' ), 'section' => 'theshop_fonts', 'type' => 'text', 'priority' => 12 ) ); //Headings fonts $wp_customize->add_setting( 'headings_font_name', array( 'default' => 'Oswald:300,400,700', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'headings_font_name', array( 'label' => __( 'Headings font name/style/sets', 'theshop' ), 'section' => 'theshop_fonts', 'type' => 'text', 'priority' => 14 ) ); //Headings fonts family $wp_customize->add_setting( 'headings_font_family', array( 'default' => '\'Oswald\', sans-serif', 'sanitize_callback' => 'theshop_sanitize_text', ) ); $wp_customize->add_control( 'headings_font_family', array( 'label' => __( 'Headings font family', 'theshop' ), 'section' => 'theshop_fonts', 'type' => 'text', 'priority' => 15 ) ); // Site title $wp_customize->add_setting( 'site_title_size', array( 'sanitize_callback' => 'absint', 'default' => '36', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'site_title_size', array( 'type' => 'number', 'priority' => 17, 'section' => 'theshop_fonts', 'label' => __('Site title', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 90, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); // Site description $wp_customize->add_setting( 'site_desc_size', array( 'sanitize_callback' => 'absint', 'default' => '14', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'site_desc_size', array( 'type' => 'number', 'priority' => 17, 'section' => 'theshop_fonts', 'label' => __('Site description', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 50, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H1 size $wp_customize->add_setting( 'h1_size', array( 'sanitize_callback' => 'absint', 'default' => '36', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h1_size', array( 'type' => 'number', 'priority' => 17, 'section' => 'theshop_fonts', 'label' => __('H1 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H2 size $wp_customize->add_setting( 'h2_size', array( 'sanitize_callback' => 'absint', 'default' => '30', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h2_size', array( 'type' => 'number', 'priority' => 18, 'section' => 'theshop_fonts', 'label' => __('H2 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H3 size $wp_customize->add_setting( 'h3_size', array( 'sanitize_callback' => 'absint', 'default' => '24', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h3_size', array( 'type' => 'number', 'priority' => 19, 'section' => 'theshop_fonts', 'label' => __('H3 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H4 size $wp_customize->add_setting( 'h4_size', array( 'sanitize_callback' => 'absint', 'default' => '18', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h4_size', array( 'type' => 'number', 'priority' => 20, 'section' => 'theshop_fonts', 'label' => __('H4 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H5 size $wp_customize->add_setting( 'h5_size', array( 'sanitize_callback' => 'absint', 'default' => '14', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h5_size', array( 'type' => 'number', 'priority' => 21, 'section' => 'theshop_fonts', 'label' => __('H5 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //H6 size $wp_customize->add_setting( 'h6_size', array( 'sanitize_callback' => 'absint', 'default' => '12', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'h6_size', array( 'type' => 'number', 'priority' => 22, 'section' => 'theshop_fonts', 'label' => __('H6 font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 60, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //Body $wp_customize->add_setting( 'body_size', array( 'sanitize_callback' => 'absint', 'default' => '14', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'body_size', array( 'type' => 'number', 'priority' => 23, 'section' => 'theshop_fonts', 'label' => __('Body font size', 'theshop'), 'input_attrs' => array( 'min' => 10, 'max' => 24, 'step' => 1, 'style' => 'margin-bottom: 15px; padding: 10px;', ), ) ); //___Colors___// //Primary color $wp_customize->add_setting( 'primary_color', array( 'default' => '#9FAFF1', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'primary_color', array( 'label' => __('Primary color', 'theshop'), 'section' => 'colors', 'settings' => 'primary_color', 'priority' => 12 ) ) ); //Menu $wp_customize->add_setting( 'menu_bg', array( 'default' => '#fff', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'menu_bg', array( 'label' => __('Menu background', 'theshop'), 'section' => 'colors', 'settings' => 'menu_bg', 'priority' => 13 ) ) ); //Menu items $wp_customize->add_setting( 'menu_color', array( 'default' => '#1c1c1c', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'menu_color', array( 'label' => __('Menu items', 'theshop'), 'section' => 'colors', 'settings' => 'menu_color', 'priority' => 14 ) ) ); //Site title $wp_customize->add_setting( 'site_title_color', array( 'default' => '#1c1c1c', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'site_title_color', array( 'label' => __('Site title', 'theshop'), 'section' => 'colors', 'settings' => 'site_title_color', 'priority' => 18 ) ) ); //Site desc $wp_customize->add_setting( 'site_desc_color', array( 'default' => '#a9a9a9', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'site_desc_color', array( 'label' => __('Site description', 'theshop'), 'section' => 'colors', 'priority' => 19 ) ) ); //Body $wp_customize->add_setting( 'body_text_color', array( 'default' => '#444', 'sanitize_callback' => 'sanitize_hex_color', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'body_text_color', array( 'label' => __('Body text', 'theshop'), 'section' => 'colors', 'settings' => 'body_text_color', 'priority' => 22 ) ) ); //___Footer___// $wp_customize->add_section( 'theshop_footer', array( 'title' => __('Footer widgets', 'theshop'), 'priority' => 18, ) ); $wp_customize->add_setting( 'footer_widget_areas', array( 'default' => '3', 'sanitize_callback' => 'theshop_sanitize_fwidgets', ) ); $wp_customize->add_control( 'footer_widget_areas', array( 'type' => 'radio', 'label' => __('Footer widget area', 'theshop'), 'section' => 'theshop_footer', 'description' => __('Choose the number of widget areas in the footer, then go to Appearance > Widgets and add your widgets.', 'theshop'), 'choices' => array( '1' => __('One', 'theshop'), '2' => __('Two', 'theshop'), '3' => __('Three', 'theshop'), ), ) ); } add_action( 'customize_register', 'theshop_customize_register' ); /** * Sanitize */ //Text function theshop_sanitize_text( $input ) { return wp_kses_post( force_balance_tags( $input ) ); } //Checkboxes function theshop_sanitize_checkbox( $input ) { if ( $input == 1 ) { return 1; } else { return ''; } } //Footer widget areas function theshop_sanitize_fwidgets( $input ) { if ( in_array( $input, array( '1', '2', '3' ), true ) ) { return $input; } } //Menu style function theshop_sanitize_menu_style( $input ) { if ( in_array( $input, array( 'inline', 'centered' ), true ) ) { return $input; } } //Sections order function theshop_sanitize_section_order( $input ) { if ( in_array( $input, array( 'products', 'cta', 'cats', 'posts' ), true ) ) { return $input; } } //Header type function theshop_sanitize_header_style( $input ) { if ( in_array( $input, array( 'full', 'top-bar' ), true ) ) { return $input; } } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function theshop_customize_preview_js() { wp_enqueue_script( 'theshop_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20130508', true ); } add_action( 'customize_preview_init', 'theshop_customize_preview_js' );