add_section( 'beetle_section_slider', array( 'title' => esc_html__( 'Post Slider', 'beetle' ), 'priority' => 60, 'panel' => 'beetle_options_panel', ) ); // Add settings and controls for Post Slider. $wp_customize->add_setting( 'beetle_theme_options[slider_activate]', array( 'default' => '', 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'esc_attr', ) ); $wp_customize->add_control( new Beetle_Customize_Header_Control( $wp_customize, 'beetle_theme_options[slider_activate]', array( 'label' => esc_html__( 'Activate Post Slider', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_activate]', 'priority' => 1, ) ) ); $wp_customize->add_setting( 'beetle_theme_options[slider_magazine]', array( 'default' => false, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'beetle_sanitize_checkbox', ) ); $wp_customize->add_control( 'beetle_theme_options[slider_magazine]', array( 'label' => esc_html__( 'Show Slider on Magazine Homepage', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_magazine]', 'type' => 'checkbox', 'priority' => 2, ) ); $wp_customize->add_setting( 'beetle_theme_options[slider_blog]', array( 'default' => false, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'beetle_sanitize_checkbox', ) ); $wp_customize->add_control( 'beetle_theme_options[slider_blog]', array( 'label' => esc_html__( 'Show Slider on posts page', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_blog]', 'type' => 'checkbox', 'priority' => 3, ) ); // Add Setting and Control for Slider Category. $wp_customize->add_setting( 'beetle_theme_options[slider_category]', array( 'default' => 0, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( new Beetle_Customize_Category_Dropdown_Control( $wp_customize, 'beetle_theme_options[slider_category]', array( 'label' => esc_html__( 'Slider Category', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_category]', 'active_callback' => 'beetle_slider_activated_callback', 'priority' => 4, ) ) ); // Add Setting and Control for Number of Posts. $wp_customize->add_setting( 'beetle_theme_options[slider_limit]', array( 'default' => 8, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( 'beetle_theme_options[slider_limit]', array( 'label' => esc_html__( 'Number of Posts', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_limit]', 'type' => 'text', 'active_callback' => 'beetle_slider_activated_callback', 'priority' => 5, ) ); // Add Setting and Control for Slider Animation. $wp_customize->add_setting( 'beetle_theme_options[slider_animation]', array( 'default' => 'slide', 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'beetle_sanitize_select', ) ); $wp_customize->add_control( 'beetle_theme_options[slider_animation]', array( 'label' => esc_html__( 'Slider Animation', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_animation]', 'type' => 'radio', 'priority' => 6, 'active_callback' => 'beetle_slider_activated_callback', 'choices' => array( 'slide' => esc_html__( 'Slide Effect', 'beetle' ), 'fade' => esc_html__( 'Fade Effect', 'beetle' ), ), ) ); // Add Setting and Control for Slider Speed. $wp_customize->add_setting( 'beetle_theme_options[slider_speed]', array( 'default' => 7000, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( 'beetle_theme_options[slider_speed]', array( 'label' => esc_html__( 'Slider Speed (in ms)', 'beetle' ), 'section' => 'beetle_section_slider', 'settings' => 'beetle_theme_options[slider_speed]', 'type' => 'number', 'active_callback' => 'beetle_slider_activated_callback', 'priority' => 7, 'input_attrs' => array( 'min' => 1000, 'step' => 100, ), ) ); } add_action( 'customize_register', 'beetle_customize_register_slider_settings' );