add_panel( 'pool_services_lite_panel_id', array( 'priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => __( 'VW Settings', 'pool-services-lite' ), ) ); // Layout $wp_customize->add_section( 'pool_services_lite_left_right', array( 'title' => __( 'General Settings', 'pool-services-lite' ), 'panel' => 'pool_services_lite_panel_id' ) ); $wp_customize->add_setting('pool_services_lite_width_option',array( 'default' => __('Full Width','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control(new Pool_Services_Lite_Image_Radio_Control($wp_customize, 'pool_services_lite_width_option', array( 'type' => 'select', 'label' => __('Width Layouts','pool-services-lite'), 'description' => __('Here you can change the width layout of Website.','pool-services-lite'), 'section' => 'pool_services_lite_left_right', 'choices' => array( 'Full Width' => get_template_directory_uri().'/assets/images/full-width.png', 'Wide Width' => get_template_directory_uri().'/assets/images/wide-width.png', 'Boxed' => get_template_directory_uri().'/assets/images/boxed-width.png', )))); $wp_customize->add_setting('pool_services_lite_theme_options',array( 'default' => __('Right Sidebar','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control('pool_services_lite_theme_options',array( 'type' => 'select', 'label' => __('Post Sidebar Layout','pool-services-lite'), 'description' => __('Here you can change the sidebar layout for posts. ','pool-services-lite'), 'section' => 'pool_services_lite_left_right', 'choices' => array( 'Left Sidebar' => __('Left Sidebar','pool-services-lite'), 'Right Sidebar' => __('Right Sidebar','pool-services-lite'), 'One Column' => __('One Column','pool-services-lite'), 'Three Columns' => __('Three Columns','pool-services-lite'), 'Four Columns' => __('Four Columns','pool-services-lite'), 'Grid Layout' => __('Grid Layout','pool-services-lite') ), ) ); $wp_customize->add_setting('pool_services_lite_page_layout',array( 'default' => __('One Column','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control('pool_services_lite_page_layout',array( 'type' => 'select', 'label' => __('Page Sidebar Layout','pool-services-lite'), 'description' => __('Here you can change the sidebar layout for pages. ','pool-services-lite'), 'section' => 'pool_services_lite_left_right', 'choices' => array( 'Left Sidebar' => __('Left Sidebar','pool-services-lite'), 'Right Sidebar' => __('Right Sidebar','pool-services-lite'), 'One Column' => __('One Column','pool-services-lite') ), ) ); //Pre-Loader $wp_customize->add_setting( 'pool_services_lite_loader_enable',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' ) ); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_loader_enable',array( 'label' => esc_html__( 'Pre-Loader','pool-services-lite' ), 'section' => 'pool_services_lite_left_right' ))); $wp_customize->add_setting('pool_services_lite_loader_icon',array( 'default' => __('Two Way','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control('pool_services_lite_loader_icon',array( 'type' => 'select', 'label' => __('Pre-Loader Type','pool-services-lite'), 'section' => 'pool_services_lite_left_right', 'choices' => array( 'Two Way' => __('Two Way','pool-services-lite'), 'Dots' => __('Dots','pool-services-lite'), 'Rotate' => __('Rotate','pool-services-lite') ), ) ); //Top Bar $wp_customize->add_section( 'pool_services_lite_topbar', array( 'title' => __( 'Top Bar Settings', 'pool-services-lite' ), 'panel' => 'pool_services_lite_panel_id' ) ); //Sticky Header $wp_customize->add_setting( 'pool_services_lite_sticky_header',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' ) ); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_sticky_header',array( 'label' => esc_html__( 'Sticky Header','pool-services-lite' ), 'section' => 'pool_services_lite_topbar' ))); $wp_customize->add_setting( 'pool_services_lite_search_enable',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' )); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_search_enable',array( 'label' => esc_html__( 'Show / Hide Search','pool-services-lite' ), 'section' => 'pool_services_lite_topbar' ))); $wp_customize->add_setting( 'pool_services_lite_cart_enable',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' )); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_cart_enable',array( 'label' => esc_html__( 'Show / Hide Cart','pool-services-lite' ), 'section' => 'pool_services_lite_topbar' ))); $wp_customize->add_setting('pool_services_lite_location',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_location',array( 'label' => __('Add Location','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( '123 lorem ipsum is a dummy text, USA', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_topbar', 'type'=> 'text' )); $wp_customize->add_setting('pool_services_lite_phone_text',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_phone_text',array( 'label' => __('Add Phone Text','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( 'Please Make a Call', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_topbar', 'type'=> 'text' )); $wp_customize->add_setting('pool_services_lite_phone_number',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_phone_number',array( 'label' => __('Add Phone Number','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( '+00 1234 567 890', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_topbar', 'type'=> 'text' )); $wp_customize->add_setting('pool_services_lite_email_text',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_email_text',array( 'label' => __('Add Email text','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( 'Drop us an Email', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_topbar', 'type'=> 'text' )); $wp_customize->add_setting('pool_services_lite_email_address',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_email_address',array( 'label' => __('Add Email Address','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( 'example@gmail.com', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_topbar', 'type'=> 'text' )); //Slider $wp_customize->add_section( 'pool_services_lite_slidersettings' , array( 'title' => __( 'Slider Settings', 'pool-services-lite' ), 'panel' => 'pool_services_lite_panel_id' ) ); $wp_customize->add_setting( 'pool_services_lite_slider_arrows',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' )); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_slider_arrows',array( 'label' => esc_html__( 'Show / Hide Slider','pool-services-lite' ), 'section' => 'pool_services_lite_slidersettings' ))); for ( $count = 1; $count <= 4; $count++ ) { $wp_customize->add_setting( 'pool_services_lite_slider_page' . $count, array( 'default' => '', 'sanitize_callback' => 'pool_services_lite_sanitize_dropdown_pages' ) ); $wp_customize->add_control( 'pool_services_lite_slider_page' . $count, array( 'label' => __( 'Select Slider Page', 'pool-services-lite' ), 'description' => __('Slider image size (1600 x 800)','pool-services-lite'), 'section' => 'pool_services_lite_slidersettings', 'type' => 'dropdown-pages' ) ); } //content layout $wp_customize->add_setting('pool_services_lite_slider_content_option',array( 'default' => __('Center','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control(new Pool_Services_Lite_Image_Radio_Control($wp_customize, 'pool_services_lite_slider_content_option', array( 'type' => 'select', 'label' => __('Slider Content Layouts','pool-services-lite'), 'section' => 'pool_services_lite_slidersettings', 'choices' => array( 'Left' => get_template_directory_uri().'/assets/images/slider-content1.png', 'Center' => get_template_directory_uri().'/assets/images/slider-content2.png', 'Right' => get_template_directory_uri().'/assets/images/slider-content3.png', )))); //Slider excerpt $wp_customize->add_setting( 'pool_services_lite_slider_excerpt_number', array( 'default' => 20, 'type' => 'theme_mod', 'transport' => 'refresh', 'sanitize_callback' => 'absint', 'sanitize_js_callback' => 'absint', ) ); $wp_customize->add_control( 'pool_services_lite_slider_excerpt_number', array( 'label' => esc_html__( 'Slider Excerpt length','pool-services-lite' ), 'section' => 'pool_services_lite_slidersettings', 'type' => 'range', 'settings' => 'pool_services_lite_slider_excerpt_number', 'input_attrs' => array( 'step' => 2, 'min' => 0, 'max' => 50, ), ) ); //Opacity $wp_customize->add_setting('pool_services_lite_slider_opacity_color',array( 'default' => 0.4, 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control( 'pool_services_lite_slider_opacity_color', array( 'label' => esc_html__( 'Slider Image Opacity','pool-services-lite' ), 'section' => 'pool_services_lite_slidersettings', 'type' => 'select', 'settings' => 'pool_services_lite_slider_opacity_color', 'choices' => array( '0' => esc_attr('0','pool-services-lite'), '0.1' => esc_attr('0.1','pool-services-lite'), '0.2' => esc_attr('0.2','pool-services-lite'), '0.3' => esc_attr('0.3','pool-services-lite'), '0.4' => esc_attr('0.4','pool-services-lite'), '0.5' => esc_attr('0.5','pool-services-lite'), '0.6' => esc_attr('0.6','pool-services-lite'), '0.7' => esc_attr('0.7','pool-services-lite'), '0.8' => esc_attr('0.8','pool-services-lite'), '0.9' => esc_attr('0.9','pool-services-lite') ), )); //About Section $wp_customize->add_section( 'pool_services_lite_about_section' , array( 'title' => __( 'About Settings', 'pool-services-lite' ), 'priority' => null, 'panel' => 'pool_services_lite_panel_id' ) ); $wp_customize->add_setting('pool_services_lite_section_title',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_section_title',array( 'label' => __('Add Section Title','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( 'Welcome to the Pool Services Lite', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_about_section', 'type'=> 'text' )); $wp_customize->add_setting( 'pool_services_lite_about', array( 'default' => '', 'sanitize_callback' => 'pool_services_lite_sanitize_dropdown_pages' ) ); $wp_customize->add_control( 'pool_services_lite_about', array( 'label' => __( 'Select About Page', 'pool-services-lite' ), 'description' => __('About image size (640 x 480)','pool-services-lite'), 'section' => 'pool_services_lite_about_section', 'type' => 'dropdown-pages' ) ); //About excerpt $wp_customize->add_setting( 'pool_services_lite_about_excerpt_number', array( 'default' => 20, 'type' => 'theme_mod', 'transport' => 'refresh', 'sanitize_callback' => 'absint', 'sanitize_js_callback' => 'absint', ) ); $wp_customize->add_control( 'pool_services_lite_about_excerpt_number', array( 'label' => esc_html__( 'About Excerpt length','pool-services-lite' ), 'section' => 'pool_services_lite_about_section', 'type' => 'range', 'settings' => 'pool_services_lite_about_excerpt_number', 'input_attrs' => array( 'step' => 2, 'min' => 0, 'max' => 50, ), ) ); //Blog Post $wp_customize->add_section('pool_services_lite_blog_post',array( 'title' => __('Blog Post Settings','pool-services-lite'), 'panel' => 'pool_services_lite_panel_id', )); $wp_customize->add_setting( 'pool_services_lite_toggle_postdate',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' ) ); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_toggle_postdate',array( 'label' => esc_html__( 'Post Date','pool-services-lite' ), 'section' => 'pool_services_lite_blog_post' ))); $wp_customize->add_setting( 'pool_services_lite_toggle_author',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' ) ); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_toggle_author',array( 'label' => esc_html__( 'Author','pool-services-lite' ), 'section' => 'pool_services_lite_blog_post' ))); $wp_customize->add_setting( 'pool_services_lite_toggle_comments',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' ) ); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_toggle_comments',array( 'label' => esc_html__( 'Comments','pool-services-lite' ), 'section' => 'pool_services_lite_blog_post' ))); $wp_customize->add_setting( 'pool_services_lite_excerpt_number', array( 'default' => 30, 'type' => 'theme_mod', 'transport' => 'refresh', 'sanitize_callback' => 'absint', 'sanitize_js_callback' => 'absint', ) ); $wp_customize->add_control( 'pool_services_lite_excerpt_number', array( 'label' => esc_html__( 'Excerpt length','pool-services-lite' ), 'section' => 'pool_services_lite_blog_post', 'type' => 'range', 'settings' => 'pool_services_lite_excerpt_number', 'input_attrs' => array( 'step' => 2, 'min' => 0, 'max' => 50, ), ) ); //Blog layout $wp_customize->add_setting('pool_services_lite_blog_layout_option',array( 'default' => __('Default','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control(new Pool_Services_Lite_Image_Radio_Control($wp_customize, 'pool_services_lite_blog_layout_option', array( 'type' => 'select', 'label' => __('Blog Layouts','pool-services-lite'), 'section' => 'pool_services_lite_blog_post', 'choices' => array( 'Default' => get_template_directory_uri().'/assets/images/blog-layout1.png', 'Center' => get_template_directory_uri().'/assets/images/blog-layout2.png', 'Left' => get_template_directory_uri().'/assets/images/blog-layout3.png', )))); //Content Craetion $wp_customize->add_section( 'pool_services_lite_content_section' , array( 'title' => __( 'Customize Home Page Settings', 'pool-services-lite' ), 'priority' => null, 'panel' => 'pool_services_lite_panel_id' ) ); $wp_customize->add_setting('pool_services_lite_content_creation_main_control', array( 'sanitize_callback' => 'esc_html', ) ); $homepage= get_option( 'page_on_front' ); $wp_customize->add_control( new Pool_Services_Lite_Content_Creation( $wp_customize, 'pool_services_lite_content_creation_main_control', array( 'options' => array( esc_html__( 'First select static page in homepage setting for front page.Below given edit button is to customize Home Page. Just click on the edit option, add whatever elements you want to include in the homepage, save the changes and you are good to go.','pool-services-lite' ), ), 'section' => 'pool_services_lite_content_section', 'button_url' => admin_url( 'post.php?post='.$homepage.'&action=edit'), 'button_text' => esc_html__( 'Edit', 'pool-services-lite' ), ) ) ); //Footer Text $wp_customize->add_section('pool_services_lite_footer',array( 'title' => __('Footer Settings','pool-services-lite'), 'panel' => 'pool_services_lite_panel_id', )); $wp_customize->add_setting('pool_services_lite_footer_text',array( 'default'=> '', 'sanitize_callback' => 'sanitize_text_field' )); $wp_customize->add_control('pool_services_lite_footer_text',array( 'label' => __('Copyright Text','pool-services-lite'), 'input_attrs' => array( 'placeholder' => __( 'Copyright 2019, .....', 'pool-services-lite' ), ), 'section'=> 'pool_services_lite_footer', 'type'=> 'text' )); $wp_customize->add_setting( 'pool_services_lite_hide_show_scroll',array( 'default' => 1, 'transport' => 'refresh', 'sanitize_callback' => 'pool_services_lite_switch_sanitization' )); $wp_customize->add_control( new Pool_Services_Lite_Toggle_Switch_Custom_Control( $wp_customize, 'pool_services_lite_hide_show_scroll',array( 'label' => esc_html__( 'Show / Hide Scroll To Top','pool-services-lite' ), 'section' => 'pool_services_lite_footer' ))); $wp_customize->add_setting('pool_services_lite_scroll_top_alignment',array( 'default' => __('Right','pool-services-lite'), 'sanitize_callback' => 'pool_services_lite_sanitize_choices' )); $wp_customize->add_control(new Pool_Services_Lite_Image_Radio_Control($wp_customize, 'pool_services_lite_scroll_top_alignment', array( 'type' => 'select', 'label' => __('Scroll To Top','pool-services-lite'), 'section' => 'pool_services_lite_footer', 'settings' => 'pool_services_lite_scroll_top_alignment', 'choices' => array( 'Left' => get_template_directory_uri().'/assets/images/layout1.png', 'Center' => get_template_directory_uri().'/assets/images/layout2.png', 'Right' => get_template_directory_uri().'/assets/images/layout3.png' )))); } add_action( 'customize_register', 'pool_services_lite_customize_register' ); load_template( trailingslashit( get_template_directory() ) . '/inc/logo/logo-resizer.php' ); /** * Singleton class for handling the theme's customizer integration. * * @since 1.0.0 * @access public */ final class Pool_Services_Lite_Customize { /** * Returns the instance. * * @since 1.0.0 * @access public * @return object */ public static function get_instance() { static $instance = null; if ( is_null( $instance ) ) { $instance = new self; $instance->setup_actions(); } return $instance; } /** * Constructor method. * * @since 1.0.0 * @access private * @return void */ private function __construct() {} /** * Sets up initial actions. * * @since 1.0.0 * @access private * @return void */ private function setup_actions() { // Register panels, sections, settings, controls, and partials. add_action( 'customize_register', array( $this, 'sections' ) ); // Register scripts and styles for the controls. add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ), 0 ); } /** * Sets up the customizer sections. * * @since 1.0.0 * @access public * @param object $manager * @return void */ public function sections( $manager ) { // Load custom sections. load_template( trailingslashit( get_template_directory() ) . '/inc/section-pro.php' ); // Register custom section types. $manager->register_section_type( 'Pool_Services_Lite_Customize_Section_Pro' ); // Register sections. $manager->add_section( new Pool_Services_Lite_Customize_Section_Pro( $manager,'example_1', array( 'priority' => 1, 'title' => esc_html__( 'POOL SERVIES PRO', 'pool-services-lite' ), 'pro_text' => esc_html__( 'UPGRADE PRO', 'pool-services-lite' ), 'pro_url' => esc_url('https://www.vwthemes.com/themes/swimming-pool-wordpress-theme/'), ) ) ); $manager->add_section(new Pool_Services_Lite_Customize_Section_Pro($manager,'example_2',array( 'priority' => 1, 'title' => esc_html__( 'DOCUMENTATION', 'pool-services-lite' ), 'pro_text' => esc_html__( 'DOCS', 'pool-services-lite' ), 'pro_url' => admin_url('themes.php?page=pool_services_lite_guide'), ))); } /** * Loads theme customizer CSS. * * @since 1.0.0 * @access public * @return void */ public function enqueue_control_scripts() { wp_enqueue_script( 'pool-services-lite-customize-controls', trailingslashit( get_template_directory_uri() ) . '/assets/js/customize-controls.js', array( 'customize-controls' ) ); wp_enqueue_style( 'pool-services-lite-customize-controls', trailingslashit( get_template_directory_uri() ) . '/assets/css/customize-controls.css' ); } } // Doing this customizer thang! Pool_Services_Lite_Customize::get_instance();