add_panel( 'frontpage_settings', array( 'priority' => 40, 'capability' => 'edit_theme_options', 'title' => __( 'Front Page Settings', 'blossom-wedding' ), 'description' => __( 'Static Home Page settings.', 'blossom-wedding' ), ) ); /** Slider Settings */ $wp_customize->get_section( 'header_image' )->panel = 'frontpage_settings'; $wp_customize->get_section( 'header_image' )->title = __( 'Banner Section', 'blossom-wedding' ); $wp_customize->get_section( 'header_image' )->priority = 10; $wp_customize->get_control( 'header_image' )->active_callback = 'blossom_wedding_banner_ac'; $wp_customize->get_control( 'header_video' )->active_callback = 'blossom_wedding_banner_ac'; $wp_customize->get_control( 'external_header_video' )->active_callback = 'blossom_wedding_banner_ac'; $wp_customize->get_section( 'header_image' )->description = ''; $wp_customize->get_setting( 'header_image' )->transport = 'refresh'; $wp_customize->get_setting( 'header_video' )->transport = 'refresh'; $wp_customize->get_setting( 'external_header_video' )->transport = 'refresh'; /** Banner Options */ $wp_customize->add_setting( 'ed_banner_section', array( 'default' => 'slider_banner', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'ed_banner_section', array( 'label' => __( 'Banner Options', 'blossom-wedding' ), 'description' => __( 'Choose banner as static image/video or as a slider.', 'blossom-wedding' ), 'section' => 'header_image', 'choices' => array( 'no_banner' => __( 'Disable Banner Section', 'blossom-wedding' ), 'static_banner' => __( 'Static/Video Banner', 'blossom-wedding' ), 'slider_banner' => __( 'Banner as Slider', 'blossom-wedding' ), ), 'priority' => 5 ) ) ); /** Title */ $wp_customize->add_setting( 'banner_title', array( 'default' => __( 'Brittany & Steven', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'banner_title', array( 'label' => __( 'Title', 'blossom-wedding' ), 'section' => 'header_image', 'type' => 'text', 'active_callback' => 'blossom_wedding_banner_ac' ) ); $wp_customize->selective_refresh->add_partial( 'banner_title', array( 'selector' => '.banner .banner-caption .banner-caption-inner h2.banner-title', 'render_callback' => 'blossom_wedding_get_banner_title', ) ); /** Sub Title */ $wp_customize->add_setting( 'banner_subtitle', array( 'default' => __( 'Save the Day', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'banner_subtitle', array( 'label' => __( 'Sub Title', 'blossom-wedding' ), 'section' => 'header_image', 'type' => 'text', 'active_callback' => 'blossom_wedding_banner_ac' ) ); $wp_customize->selective_refresh->add_partial( 'banner_subtitle', array( 'selector' => '.banner .banner-caption .banner-caption-inner span.sub-title', 'render_callback' => 'blossom_wedding_get_banner_sub_title', ) ); /** Sub Title */ $wp_customize->add_setting( 'banner_description', array( 'default' => __( 'JULY 23, 2018 - 11:00AM Red Barn Farm of Northfield10063 110th Street East, Northfield Minnesota', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'banner_description', array( 'label' => __( 'Banner Description', 'blossom-wedding' ), 'section' => 'header_image', 'type' => 'text', 'active_callback' => 'blossom_wedding_banner_ac' ) ); $wp_customize->selective_refresh->add_partial( 'banner_description', array( 'selector' => '.banner .banner-caption .banner-caption-inner .banner-desc', 'render_callback' => 'blossom_wedding_get_banner_desciption', ) ); /** Slider Content Style */ $wp_customize->add_setting( 'slider_type', array( 'default' => 'latest_posts', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'slider_type', array( 'label' => __( 'Slider Content Style', 'blossom-wedding' ), 'section' => 'header_image', 'choices' => array( 'latest_posts' => __( 'Latest Posts', 'blossom-wedding' ), 'cat' => __( 'Category', 'blossom-wedding' ), ), 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** Slider Category */ $wp_customize->add_setting( 'slider_cat', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'slider_cat', array( 'label' => __( 'Slider Category', 'blossom-wedding' ), 'section' => 'header_image', 'choices' => blossom_wedding_get_categories(), 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** No. of slides */ $wp_customize->add_setting( 'no_of_slides', array( 'default' => 3, 'sanitize_callback' => 'blossom_wedding_sanitize_number_absint' ) ); $wp_customize->add_control( new Blossom_Wedding_Slider_Control( $wp_customize, 'no_of_slides', array( 'section' => 'header_image', 'label' => __( 'Number of Slides', 'blossom-wedding' ), 'description' => __( 'Choose the number of slides you want to display', 'blossom-wedding' ), 'choices' => array( 'min' => 1, 'max' => 20, 'step' => 1, ), 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** HR */ $wp_customize->add_setting( 'hr', array( 'default' => '', 'sanitize_callback' => 'wp_kses_post' ) ); $wp_customize->add_control( new Blossom_Wedding_Note_Control( $wp_customize, 'hr', array( 'section' => 'header_image', 'description' => '
', 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** Slider Auto */ $wp_customize->add_setting( 'slider_auto', array( 'default' => true, 'sanitize_callback' => 'blossom_wedding_sanitize_checkbox', ) ); $wp_customize->add_control( new Blossom_Wedding_Toggle_Control( $wp_customize, 'slider_auto', array( 'section' => 'header_image', 'label' => __( 'Slider Auto', 'blossom-wedding' ), 'description' => __( 'Enable slider auto transition.', 'blossom-wedding' ), 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** Slider Caption */ $wp_customize->add_setting( 'slider_caption', array( 'default' => true, 'sanitize_callback' => 'blossom_wedding_sanitize_checkbox', ) ); $wp_customize->add_control( new Blossom_Wedding_Toggle_Control( $wp_customize, 'slider_caption', array( 'section' => 'header_image', 'label' => __( 'Slider Caption', 'blossom-wedding' ), 'description' => __( 'Enable slider caption.', 'blossom-wedding' ), 'active_callback' => 'blossom_wedding_banner_ac' ) ) ); /** Slider Settings Ends */ /** Story Section */ $wp_customize->add_section( 'story_section', array( 'title' => __( 'Story Section', 'blossom-wedding' ), 'priority' => 30, 'panel' => 'frontpage_settings', ) ); $wp_customize->add_setting( 'ed_story_section', array( 'default' => false, 'sanitize_callback' => 'blossom_wedding_sanitize_checkbox', ) ); $wp_customize->add_control( new Blossom_Wedding_Toggle_Control( $wp_customize, 'ed_story_section', array( 'section' => 'story_section', 'label' => __( 'Enable Story Section', 'blossom-wedding' ), ) ) ); /** Title */ $wp_customize->add_setting( 'story_section_title', array( 'default' => __( 'Our Love Story', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'story_section_title', array( 'section' => 'story_section', 'label' => __( 'Section Title', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_story_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'story_section_title', array( 'selector' => '.story-section .container .section-title', 'render_callback' => 'blossom_wedding_get_story_section_title', ) ); $wp_customize->add_setting( 'story_section_content', array( 'default' => __( 'It\'s not too often that you find someone who can finish your sentences, let alone correct your improper use of a Dumb and Dumber quote. Whether it be a lazy Sunday on the couch or a run outside in the Summer, we are always happy just being together. What started off as a friendship soon grew into something much more than coincidence.', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'story_section_content', array( 'section' => 'story_section', 'label' => __( 'Section Description', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_story_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'story_section_content', array( 'selector' => '.story-section .container .section-desc', 'render_callback' => 'blossom_wedding_get_story_section_content', ) ); /** End Title */ $wp_customize->add_setting( 'story_section_end_title', array( 'default' => __( 'Adventure Begins', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'story_section_end_title', array( 'section' => 'story_section', 'label' => __( 'Section End Title', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_story_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'story_section_end_title', array( 'selector' => '.story-section .container .story-end .story-end-title', 'render_callback' => 'blossom_wedding_get_story_section_end_title', ) ); $wp_customize->add_setting( 'story_section_end_content', array( 'default' => __( 'AND SO THE', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'story_section_end_content', array( 'section' => 'story_section', 'label' => __( 'Section Description', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_story_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'story_section_end_content', array( 'selector' => '.story-section .container .story-end .story-end-subtitle', 'render_callback' => 'blossom_wedding_get_story_section_end_content', ) ); $wp_customize->add_setting( 'story_section_post_one', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'story_section_post_one', array( 'label' => __( 'Select Post One', 'blossom-wedding' ), 'section' => 'story_section', 'active_callback' => 'blossom_wedding_story_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); $wp_customize->add_setting( 'story_section_post_two', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'story_section_post_two', array( 'label' => __( 'Select Post Two', 'blossom-wedding' ), 'section' => 'story_section', 'active_callback' => 'blossom_wedding_story_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); $wp_customize->add_setting( 'story_section_post_three', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'story_section_post_three', array( 'label' => __( 'Select Post Three', 'blossom-wedding' ), 'section' => 'story_section', 'active_callback' => 'blossom_wedding_story_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); $wp_customize->add_setting( 'story_section_post_four', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'story_section_post_four', array( 'label' => __( 'Select Post Four', 'blossom-wedding' ), 'section' => 'story_section', 'active_callback' => 'blossom_wedding_story_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); /** Story Section Ends */ /** Officiant Section */ $wp_customize->add_section( 'officiant_section', array( 'title' => __( 'Officiant Section', 'blossom-wedding' ), 'priority' => 80, 'panel' => 'frontpage_settings', ) ); $wp_customize->add_setting( 'ed_officiant_section', array( 'default' => false, 'sanitize_callback' => 'blossom_wedding_sanitize_checkbox', ) ); $wp_customize->add_control( new Blossom_Wedding_Toggle_Control( $wp_customize, 'ed_officiant_section', array( 'section' => 'officiant_section', 'label' => __( 'Enable Officiant Section', 'blossom-wedding' ), ) ) ); /** Title */ $wp_customize->add_setting( 'officiant_section_title', array( 'default' => __( 'Wedding Officiant', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'officiant_section_title', array( 'section' => 'officiant_section', 'label' => __( 'Section Title', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_officiant_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'officiant_section_title', array( 'selector' => '.officiant-section .container .section-title', 'render_callback' => 'blossom_wedding_get_officiant_section_title', ) ); $wp_customize->add_setting( 'officiant_section_post_one', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'officiant_section_post_one', array( 'label' => __( 'Select Post One', 'blossom-wedding' ), 'section' => 'officiant_section', 'active_callback' => 'blossom_wedding_officiant_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); $wp_customize->add_setting( 'officiant_section_post_two', array( 'default' => '', 'sanitize_callback' => 'blossom_wedding_sanitize_select' ) ); $wp_customize->add_control( new Blossom_Wedding_Select_Control( $wp_customize, 'officiant_section_post_two', array( 'label' => __( 'Select Post Two', 'blossom-wedding' ), 'section' => 'officiant_section', 'active_callback' => 'blossom_wedding_officiant_section_active', 'choices' => blossom_wedding_get_posts(), ) ) ); /** Officiant Section Ends */ /** Invitation Section */ $wp_customize->add_section( 'invitation', array( 'title' => __( 'Invitation Section', 'blossom-wedding' ), 'priority' => 110, 'panel' => 'frontpage_settings', ) ); $wp_customize->add_setting( 'invitation_background', array( 'default' => esc_url( get_template_directory_uri() . '/images/form-section-bg.jpg' ), 'sanitize_callback' => 'blossom_wedding_sanitize_image', ) ); $wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'invitation_background', array( 'label' => esc_html__( 'Background Image', 'blossom-wedding' ), 'description' => esc_html__( 'Choose background Image of your choice. Recommended size for this image is 1920px by 1080px.', 'blossom-wedding' ), 'section' => 'invitation', 'type' => 'image', 'priority' => -1, ) ) ); $wp_customize->add_setting( 'invitation_note_text', array( 'default' => '', 'sanitize_callback' => 'wp_kses_post' ) ); $wp_customize->add_control( new Blossom_Wedding_Note_Control( $wp_customize, 'invitation_note_text', array( 'section' => 'invitation', 'description' => __( '
Add "Text" widget for invitation section.', 'blossom-wedding' ), 'priority' => -1, ) ) ); $invitation_section = $wp_customize->get_section( 'sidebar-widgets-invitation' ); if ( ! empty( $invitation_section ) ) { $invitation_section->panel = 'frontpage_settings'; $invitation_section->priority = 110; $wp_customize->get_control( 'invitation_note_text' )->section = 'sidebar-widgets-invitation'; $wp_customize->get_control( 'invitation_background' )->section = 'sidebar-widgets-invitation'; } /** Invitation Section Ends*/ /** Blog Section */ $wp_customize->add_section( 'blog_section', array( 'title' => __( 'Blog Section', 'blossom-wedding' ), 'priority' => 150, 'panel' => 'frontpage_settings', ) ); $wp_customize->add_setting( 'ed_blog_section', array( 'default' => false, 'sanitize_callback' => 'blossom_wedding_sanitize_checkbox', ) ); $wp_customize->add_control( new Blossom_Wedding_Toggle_Control( $wp_customize, 'ed_blog_section', array( 'section' => 'blog_section', 'label' => __( 'Enable Blog Section', 'blossom-wedding' ), ) ) ); /** Blog title */ $wp_customize->add_setting( 'blog_section_title', array( 'default' => __( 'From the Blog', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'blog_section_title', array( 'section' => 'blog_section', 'label' => __( 'Blog Title', 'blossom-wedding' ), 'type' => 'text', 'active_callback' => 'blossom_wedding_blog_section_active' ) ); $wp_customize->selective_refresh->add_partial( 'blog_section_title', array( 'selector' => '.blog-section .container .section-title', 'render_callback' => 'blossom_wedding_get_blog_section_title', ) ); /** Readmore Label */ $wp_customize->add_setting( 'blog_readmore', array( 'default' => __( 'READ THE ARTICLE', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'blog_readmore', array( 'label' => __( 'Read More Label', 'blossom-wedding' ), 'section' => 'blog_section', 'type' => 'text', 'active_callback' => 'blossom_wedding_blog_section_active' ) ); /** View All Label */ $wp_customize->add_setting( 'blog_view_all', array( 'default' => __( 'VIEW MORE POSTS', 'blossom-wedding' ), 'sanitize_callback' => 'sanitize_text_field', 'transport' => 'postMessage' ) ); $wp_customize->add_control( 'blog_view_all', array( 'label' => __( 'View All Label', 'blossom-wedding' ), 'section' => 'blog_section', 'type' => 'text', 'active_callback' => 'blossom_wedding_blog_view_all_ac' ) ); $wp_customize->selective_refresh->add_partial( 'blog_view_all', array( 'selector' => '.blog-section .container .button-wrap a.btn-readmore', 'render_callback' => 'blossom_wedding_get_blog_view_all', ) ); /** Blog Section Ends */ } add_action( 'customize_register', 'blossom_wedding_customize_register_frontpage' );