add_panel( 'ab_homepage_settings_panel', array( 'title' => __( 'Homepage Settings', 'ab-folio' ), 'description' => __( 'Configure Homepage Sections', 'ab-folio' ), 'priority' => 999, 'active_callback' => 'is_front_page', ) ); // create Hero section $wp_customize->add_section( 'ab_hero_section', array( 'title' => __( 'Hero Section', 'ab-folio' ), 'priority' => 10, 'panel' => 'ab_homepage_settings_panel', )); // create About section $wp_customize->add_section( 'ab_about_section', array( 'title' => __( 'About Section', 'ab-folio' ), 'priority' => 10, 'panel' => 'ab_homepage_settings_panel', )); // create Latest Articles section $wp_customize->add_section( 'ab_latest_articles_section', array( 'title' => __( 'Latest Articles Section', 'ab-folio' ), 'priority' => 10, 'panel' => 'ab_homepage_settings_panel', )); // create Latest Articles section $wp_customize->add_section( 'ab_portfolio_section', array( 'title' => __( 'Portfolio Section', 'ab-folio' ), 'priority' => 10, 'panel' => 'ab_homepage_settings_panel', )); // create Mailchimp Integration section $wp_customize->add_section( 'ab_mc4wp_section', array( 'title' => __( 'Mailchimp Integration', 'ab-folio' ), 'priority' => 10, 'panel' => 'ab_homepage_settings_panel', )); // HERO SECTION CONTENT $wp_customize->add_setting( 'ab_jumbotron_section', array( 'default' => 1, 'sanitize_callback' => 'ab_sanitize_checkbox' ) ); $wp_customize->add_control('ab_jumbotron_section', array( 'type' => 'checkbox', 'label' => __( 'Show Hero section on Homepage', 'ab-folio' ), 'section' => 'ab_hero_section', 'settings' => 'ab_jumbotron_section' ) ); $wp_customize->add_setting( 'jumbotron_bg_image', array( 'default' => 'http://www.arbraja.com/wp-content/themes/ab-folio/assets/img/header.jpg?i=1', 'sanitize_callback' => 'ab_sanitize_input' ) ); $wp_customize->add_control('ab_jumbotron_bg_image', array( 'label' => __( 'Hero Section Background Image', 'ab-folio' ), 'section' => 'ab_hero_section', 'type' => 'text', 'settings' => 'ab_jumbotron_bg_image' ) ); $wp_customize->add_setting( 'ab_jumbotron_title', array( 'default' => __( 'WordPress Web Developer', 'ab-folio' ), 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_jumbotron_title', array( 'label' => __( 'Hero Section Title', 'ab-folio' ), 'section' => 'ab_hero_section', 'type' => 'text', 'settings' => 'ab_jumbotron_title' ) ); $wp_customize->add_setting( 'ab_jumbotron_subtitle', array( 'default' => __( 'Personal blog and Portfolio', 'ab-folio' ), 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_jumbotron_subtitle', array( 'label' => __( 'Hero Section Sub-Title', 'ab-folio' ), 'section' => 'ab_hero_section', 'type' => 'text', 'settings' => 'ab_jumbotron_subtitle' ) ); $wp_customize->add_setting('ab_jumbotron_link', array( 'default' => '#', 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_jumbotron_link', array( 'label' => __( 'Hero Section Link', 'ab-folio' ), 'section' => 'ab_hero_section', 'type' => 'text', 'settings' => 'ab_jumbotron_link' ) ); // ABOUT ME SECTION CONTENT $wp_customize->add_setting('ab_aboutme_section', array( 'default' => 1, 'sanitize_callback' => 'ab_sanitize_checkbox' ) ); $wp_customize->add_control('ab_aboutme_section', array( 'type' => 'checkbox', 'label' => __( 'Show About me on Homepage', 'ab-folio' ), 'section' => 'ab_about_section', 'settings' => 'ab_aboutme_section' ) ); $wp_customize->add_setting('ab_aboutme_image', array( 'default' => 'https://placehold.it/300x300', 'sanitize_callback' => 'ab_sanitize_input' ) ); $wp_customize->add_control( new WP_Customize_Upload_Control( $wp_customize, 'ab_aboutme_image', array( 'label' => __( 'About me Image', 'ab-folio' ), 'section' => 'ab_about_section', 'settings' => 'ab_aboutme_image' ) ) ); $wp_customize->add_setting('ab_aboutme_content', array( 'default' => '', 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_aboutme_content', array( 'label' => __( 'About me content', 'ab-folio' ), 'section' => 'ab_about_section', 'type' => 'textarea', 'settings' => 'ab_aboutme_content' ) ); // LATEST ARTICLES SECTION $wp_customize->add_setting('ab_latest_section', array( 'default' => 1, 'sanitize_callback' => 'ab_sanitize_checkbox' ) ); $wp_customize->add_control('ab_latest_section', array( 'type' => 'checkbox', 'label' => __( 'Show latest blog articles on Homepage', 'ab-folio' ), 'section' => 'ab_latest_articles_section', 'settings' => 'ab_latest_section' ) ); // PORTFOLIO SECTION $wp_customize->add_setting('ab_portfolio_section', array( 'default' => 1, 'sanitize_callback' => 'ab_sanitize_checkbox' ) ); $wp_customize->add_control('ab_portfolio_section', array( 'type' => 'checkbox', 'label' => __( 'Show Portfolio items on Homepage', 'ab-folio' ), 'section' => 'ab_portfolio_section', 'settings' => 'ab_portfolio_section' ) ); // MAILCHIMP INTEGRATION CONTENT $wp_customize->add_setting( 'ab_mc4wp_section_active', array( 'default' => 0, 'sanitize_callback' => 'ab_sanitize_checkbox' ) ); $wp_customize->add_control('ab_mc4wp_section_active', array( 'type' => 'checkbox', 'label' => __( 'Show Mailchimp Newsletter on Homepage', 'ab-folio' ), 'section' => 'ab_mc4wp_section', 'settings' => 'ab_mc4wp_section_active' ) ); $wp_customize->add_setting('ab_mc4wp_subline', array( 'default' => 'Subscribe to my mailing list to be the first to read the best tutorials you can find for free in the internet ...', 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_mc4wp_subline', array( 'label' => __( 'Newsletter Section Subline', 'ab-folio' ), 'section' => 'ab_mc4wp_section', 'type' => 'text', 'settings' => 'ab_mc4wp_subline' ) ); $wp_customize->add_setting('ab_mc4wp_shortcode', array( 'default' => '', 'sanitize_callback' => 'ab_sanitize_content' ) ); $wp_customize->add_control('ab_mc4wp_shortcode', array( 'label' => __( 'Mailchimp Form Shortcode', 'ab-folio' ), 'section' => 'ab_mc4wp_section', 'type' => 'text', 'settings' => 'ab_mc4wp_shortcode' ) ); } add_action('customize_register', 'ab_homepage_costumizer'); // might need a better sanitizing function function ab_sanitize_content( $value ) { return wp_kses_post($value); } function ab_sanitize_checkbox( $value ) { if ( $value == 1 ) { return 1; } else { return ''; } }