=') ) { $wp_customize->get_section( 'static_front_page' )->title = __( 'Static Front Page', 'architecture-construction' ); } /* Option list of all post */ $architecture_construction_options_posts = array(); $architecture_construction_options_posts_obj = get_posts('posts_per_page=-1'); $architecture_construction_options_posts[''] = esc_html__( 'Choose Post', 'architecture-construction' ); foreach ( $architecture_construction_options_posts_obj as $architecture_construction_posts ) { $architecture_construction_options_posts[$architecture_construction_posts->ID] = $architecture_construction_posts->post_title; } /* Option list of all categories */ $architecture_construction_args = array( 'type' => 'post', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'taxonomy' => 'category' ); $architecture_construction_option_categories = array(); $architecture_construction_category_lists = get_categories( $architecture_construction_args ); $architecture_construction_option_categories[''] = esc_html__( 'Choose Category', 'architecture-construction' ); foreach( $architecture_construction_category_lists as $architecture_construction_category ){ $architecture_construction_option_categories[$architecture_construction_category->term_id] = $architecture_construction_category->name; } /** Default Settings */ $wp_customize->add_panel( 'wp_default_panel', array( 'priority' => 10, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__( 'Default Settings', 'architecture-construction' ), 'description' => esc_html__( 'Default section provided by wordpress customizer.', 'architecture-construction' ), ) ); $wp_customize->get_section( 'title_tagline' )->panel = 'wp_default_panel'; $wp_customize->get_section( 'colors' )->panel = 'wp_default_panel'; $wp_customize->get_section( 'header_image' )->panel = 'wp_default_panel'; $wp_customize->get_section( 'background_image' )->panel = 'wp_default_panel'; $wp_customize->get_section( 'static_front_page' )->panel = 'wp_default_panel'; $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; /** Default Settings Ends */ /** Site Title control */ $wp_customize->add_setting( 'header_site_title', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'header_site_title', array( 'label' => __( 'Show / Hide Site Title', 'architecture-construction' ), 'section' => 'title_tagline', 'type' => 'checkbox', ) ); /** Tagline control */ $wp_customize->add_setting( 'header_tagline', array( 'default' => false, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'header_tagline', array( 'label' => __( 'Show / Hide Tagline', 'architecture-construction' ), 'section' => 'title_tagline', 'type' => 'checkbox', ) ); /** Post Settings */ $wp_customize->add_section( 'architecture_construction_post_settings', array( 'title' => esc_html__( 'Post Settings', 'architecture-construction' ), 'priority' => 20, 'capability' => 'edit_theme_options', ) ); // Excerpt Length $wp_customize->add_section( 'architecture_construction_post_excerpt_length', array( 'title' => __('Excerpt Length', 'architecture-construction'), 'panel' => 'theme_option_panel' ) ); $wp_customize->add_setting( 'architecture_construction_post_excerpt_length', array( 'default' => '50', 'sanitize_callback' => 'architecture_construction_sanitize_number_range', ) ); $wp_customize->add_control( 'architecture_construction_post_excerpt_length', array( 'label' => esc_html__( 'Excerpt Length', 'architecture-construction' ), 'section' => 'architecture_construction_post_settings', 'type' => 'number', 'input_attrs' => array( 'min' => 1, 'max' => 200, 'style' => 'width: 100%;' ), ) ); /** Post Heading control */ $wp_customize->add_setting( 'architecture_construction_post_heading_setting', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_post_heading_setting', array( 'label' => __( 'Show / Hide Post Heading', 'architecture-construction' ), 'section' => 'architecture_construction_post_settings', 'type' => 'checkbox', ) ); /** Post Meta control */ $wp_customize->add_setting( 'architecture_construction_post_meta_setting', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_post_meta_setting', array( 'label' => __( 'Show / Hide Post Meta', 'architecture-construction' ), 'section' => 'architecture_construction_post_settings', 'type' => 'checkbox', ) ); /** Post Image control */ $wp_customize->add_setting( 'architecture_construction_post_image_setting', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_post_image_setting', array( 'label' => __( 'Show / Hide Post Image', 'architecture-construction' ), 'section' => 'architecture_construction_post_settings', 'type' => 'checkbox', ) ); /** Post Content control */ $wp_customize->add_setting( 'architecture_construction_post_content_setting', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_post_content_setting', array( 'label' => __( 'Show / Hide Post Content', 'architecture-construction' ), 'section' => 'architecture_construction_post_settings', 'type' => 'checkbox', ) ); /** Post Settings Ends */ /** General Settings */ $wp_customize->add_section( 'architecture_construction_general_settings', array( 'title' => esc_html__( 'General Settings', 'architecture-construction' ), 'priority' => 20, 'capability' => 'edit_theme_options', ) ); /** Preloader control */ $wp_customize->add_setting( 'architecture_construction_preloader_setting', array( 'default' => false, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_preloader_setting', array( 'label' => __( 'Show / Hide Preloader', 'architecture-construction' ), 'section' => 'architecture_construction_general_settings', 'type' => 'checkbox', ) ); /** Scroll To Top control */ $wp_customize->add_setting( 'architecture_construction_scroll_to_top', array( 'default' => true, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_scroll_to_top', array( 'label' => __( 'Show / Hide Scroll To Top', 'architecture-construction' ), 'section' => 'architecture_construction_general_settings', 'type' => 'checkbox', ) ); /** Sticky Header control */ $wp_customize->add_setting( 'architecture_construction_sticky_header', array( 'default' => false, 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_sticky_header', array( 'label' => __( 'Show Sticky Header', 'architecture-construction' ), 'section' => 'architecture_construction_general_settings', 'type' => 'checkbox', ) ); /** General Settings Ends */ /** Header Section Settings */ $wp_customize->add_section( 'architecture_construction_header_section_settings', array( 'title' => esc_html__( 'Header Section Settings', 'architecture-construction' ), 'priority' => 30, 'capability' => 'edit_theme_options', ) ); /** Header Section control */ $wp_customize->add_setting( 'architecture_construction_header_setting', array( 'default' => false , 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_header_setting', array( 'label' => __( 'Show Header', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'checkbox', ) ); /** Header Text */ $wp_customize->add_setting( 'architecture_construction_header_line', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_line', array( 'label' => esc_html__( 'Add Header Text', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'text', ) ); /** Email */ $wp_customize->add_setting( 'architecture_construction_header_email', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_email', array( 'label' => esc_html__( 'Add Email', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'text', ) ); /** Phone */ $wp_customize->add_setting( 'architecture_construction_header_phone', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_phone', array( 'label' => esc_html__( 'Add Phone', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'text', ) ); /** Location */ $wp_customize->add_setting( 'architecture_construction_header_location', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_location', array( 'label' => esc_html__( 'Add Location', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'text', ) ); /** Appointment Button */ $wp_customize->add_setting( 'architecture_construction_header_btn_text', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_btn_text', array( 'label' => esc_html__( 'Add Button Text', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'text', ) ); /** Appointment Button */ $wp_customize->add_setting( 'architecture_construction_header_btn_url', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_header_btn_url', array( 'label' => esc_html__( 'Add Button URL', 'architecture-construction' ), 'section' => 'architecture_construction_header_section_settings', 'type' => 'url', ) ); /** Header Section Settings End */ /** Social Section Settings */ $wp_customize->add_section( 'architecture_construction_social_section_settings', array( 'title' => esc_html__( 'Social Media Section Settings', 'architecture-construction' ), 'priority' => 30, 'capability' => 'edit_theme_options', ) ); /** Social Section control */ $wp_customize->add_setting( 'architecture_construction_social_icon_setting', array( 'default' => true , 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_social_icon_setting', array( 'label' => __( 'Show Social Icon', 'architecture-construction' ), 'section' => 'architecture_construction_social_section_settings', 'type' => 'checkbox', ) ); /** Social Link 1 */ $wp_customize->add_setting( 'architecture_construction_social_link_1', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_social_link_1', array( 'label' => esc_html__( 'Add Facebook Link', 'architecture-construction' ), 'section' => 'architecture_construction_social_section_settings', 'type' => 'url', ) ); /** Social Link 2 */ $wp_customize->add_setting( 'architecture_construction_social_link_2', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_social_link_2', array( 'label' => esc_html__( 'Add Twitter Link', 'architecture-construction' ), 'section' => 'architecture_construction_social_section_settings', 'type' => 'url', ) ); /** Social Link 3 */ $wp_customize->add_setting( 'architecture_construction_social_link_3', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_social_link_3', array( 'label' => esc_html__( 'Add Instagram Link', 'architecture-construction' ), 'section' => 'architecture_construction_social_section_settings', 'type' => 'url', ) ); /** Social Link 4 */ $wp_customize->add_setting( 'architecture_construction_social_link_4', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'refresh' ) ); $wp_customize->add_control( 'architecture_construction_social_link_4', array( 'label' => esc_html__( 'Add Pintrest Link', 'architecture-construction' ), 'section' => 'architecture_construction_social_section_settings', 'type' => 'url', ) ); /** Social Section Settings End */ /** Home Page Settings */ $wp_customize->add_panel( 'architecture_construction_home_page_settings', array( 'priority' => 40, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Home Page Settings', 'architecture-construction' ), 'description' => esc_html__( 'Customize Home Page Settings', 'architecture-construction' ), ) ); /** Slider Section Settings */ $wp_customize->add_section( 'architecture_construction_slider_section_settings', array( 'title' => esc_html__( 'Slider Section Settings', 'architecture-construction' ), 'priority' => 30, 'capability' => 'edit_theme_options', 'panel' => 'architecture_construction_home_page_settings', ) ); /** Slider Section control */ $wp_customize->add_setting( 'architecture_construction_slider_setting', array( 'default' => true , 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_slider_setting', array( 'label' => __( 'Show Slider', 'architecture-construction' ), 'section' => 'architecture_construction_slider_section_settings', 'type' => 'checkbox', ) ); $categories = get_categories(); $cat_posts = array(); $i = 0; $cat_posts[]='Select'; foreach($categories as $category){ if($i==0){ $default = $category->slug; $i++; } $cat_posts[$category->slug] = $category->name; } $wp_customize->add_setting( 'architecture_construction_blog_slide_category', array( 'default' => 'select', 'sanitize_callback' => 'architecture_construction_sanitize_choices', ) ); $wp_customize->add_control( 'architecture_construction_blog_slide_category', array( 'type' => 'select', 'choices' => $cat_posts, 'label' => __('Select Category to display Latest Post','architecture-construction'), 'section' => 'architecture_construction_slider_section_settings', ) ); /** Slider Section control */ $wp_customize->add_setting( 'architecture_construction_slider_button_setting', array( 'default' => true , 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_slider_button_setting', array( 'label' => __( 'Show Slider Button', 'architecture-construction' ), 'section' => 'architecture_construction_slider_section_settings', 'type' => 'checkbox', ) ); /** About Section Settings */ $wp_customize->add_section( 'architecture_construction_section_featured_about', array( 'title' => __( 'About Us Section', 'architecture-construction' ), 'priority' => 110, 'capability' => 'edit_theme_options', 'panel' => 'architecture_construction_home_page_settings', ) ); /** About Section control */ $wp_customize->add_setting( 'architecture_construction_about_setting', array( 'default' => true , 'sanitize_callback' => 'architecture_construction_sanitize_checkbox', ) ); $wp_customize->add_control( 'architecture_construction_about_setting', array( 'label' => __( 'Show About', 'architecture-construction' ), 'section' => 'architecture_construction_section_featured_about', 'type' => 'checkbox', ) ); // Section Text $wp_customize->add_setting('architecture_construction_featured_mission_section_text', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control('architecture_construction_featured_mission_section_text', array( 'label' => __('Section Text', 'architecture-construction'), 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_featured_mission_section_text', 'type' => 'text' ) ); // Section Title $wp_customize->add_setting('architecture_construction_featured_mission_section_title', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control('architecture_construction_featured_mission_section_title', array( 'label' => __('Section Title', 'architecture-construction'), 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_featured_mission_section_title', 'type' => 'text' ) ); // Items $wp_customize->add_setting('architecture_construction_number_of_featured_mission_items', array( 'default' => '', 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'architecture_construction_sanitize_number_range' ) ); $wp_customize->add_control('architecture_construction_number_of_featured_mission_items', array( 'label' => __('Items (Max: 5)', 'architecture-construction'), 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_number_of_featured_mission_items', 'type' => 'number', 'input_attrs' => array( 'min' => 1, 'max' => 5, 'step' => 1, ), ) ); $number_of_featured_mission_items = get_theme_mod( 'architecture_construction_number_of_featured_mission_items' ); for( $i=1; $i<=$number_of_featured_mission_items; $i++ ) { // Section Tab $wp_customize->add_setting('architecture_construction_featured_mission_section_tab_'.$i, array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control('architecture_construction_featured_mission_section_tab_'.$i, array( 'label' => __('Tab #', 'architecture-construction').$i, 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_featured_mission_section_tab_'.$i, 'type' => 'text' ) ); // Section Tab Icon $wp_customize->add_setting('architecture_construction_featured_mission_section_tab_icon_'.$i, array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control('architecture_construction_featured_mission_section_tab_icon_'.$i, array( 'label' => __('Tab Icon #', 'architecture-construction').$i, 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_featured_mission_section_tab_icon_'.$i, 'type' => 'text' ) ); // Post $wp_customize->add_setting('architecture_construction_featured_mission_post_'.$i, array( 'type' => 'theme_mod', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'architecture_construction_dropdown_pages' ) ); $wp_customize->add_control('architecture_construction_featured_mission_post_'.$i, array( 'label' => __('Page #', 'architecture-construction').$i, 'section' => 'architecture_construction_section_featured_about', 'settings' => 'architecture_construction_featured_mission_post_'.$i, 'type' => 'dropdown-pages', ) ); } /** Home Page Settings Ends */ /** Footer Section */ $wp_customize->add_section( 'architecture_construction_footer_section', array( 'title' => __( 'Footer Settings', 'architecture-construction' ), 'priority' => 70, ) ); /** Copyright Text */ $wp_customize->add_setting( 'architecture_construction_footer_copyright_text', array( 'default' => '', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( 'architecture_construction_footer_copyright_text', array( 'label' => __( 'Copyright Info', 'architecture-construction' ), 'section' => 'architecture_construction_footer_section', 'type' => 'text', ) ); /** Footer control END */ function architecture_construction_sanitize_choices( $input, $setting ) { global $wp_customize; $control = $wp_customize->get_control( $setting->id ); if ( array_key_exists( $input, $control->choices ) ) { return $input; } else { return $setting->default; } } if ( ! function_exists( 'architecture_construction_sanitize_number_range' ) ) : /** * Sanitize number range. * */ function architecture_construction_sanitize_number_range( $input, $setting ) { // Ensure input is an absolute integer. $input = absint( $input ); // Get the input attributes associated with the setting. $atts = $setting->manager->get_control( $setting->id )->input_attrs; // Get min. $min = ( isset( $atts['min'] ) ? $atts['min'] : $input ); // Get max. $max = ( isset( $atts['max'] ) ? $atts['max'] : $input ); // Get Step. $step = ( isset( $atts['step'] ) ? $atts['step'] : 1 ); // If the input is within the valid range, return it; otherwise, return the default. return ( $min <= $input && $input <= $max && is_int( $input / $step ) ? $input : $setting->default ); } endif; if ( ! function_exists( 'architecture_construction_dropdown_pages' ) ) : function architecture_construction_dropdown_pages( $page_id, $setting ) { // Ensure $input is an absolute integer. $page_id = absint( $page_id ); // If $page_id is an ID of a published page, return it; otherwise, return the default. return ( 'publish' == get_post_status( $page_id ) ? $page_id : $setting->default ); } endif; } add_action( 'customize_register', 'architecture_construction_customize_register' ); endif; /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function architecture_construction_customize_preview_js() { // Use minified libraries if SCRIPT_DEBUG is false $architecture_construction_build = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '/build' : ''; $architecture_construction_suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; wp_enqueue_script( 'architecture_construction_customizer', get_template_directory_uri() . '/js' . $architecture_construction_build . '/customizer' . $architecture_construction_suffix . '.js', array( 'customize-preview' ), '20130508', true ); } add_action( 'customize_preview_init', 'architecture_construction_customize_preview_js' );