add_section( 'ankitrawat_section_blog', array( 'title' => esc_html__( 'Blog Settings', 'ankit-rawat' ), 'priority' => 25, 'panel' => 'ankitrawat_options_panel', ) ); // Add Blog Title setting and control. $wp_customize->add_setting( 'ankitrawat_theme_options[blog_title]', array( 'default' => '', 'type' => 'option', 'transport' => 'postMessage', 'sanitize_callback' => 'wp_kses_post', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[blog_title]', array( 'label' => esc_html__( 'Blog Title', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[blog_title]', 'type' => 'text', 'priority' => 10, ) ); $wp_customize->selective_refresh->add_partial( 'ankitrawat_theme_options[blog_title]', array( 'selector' => '.blog-header .blog-title', 'render_callback' => 'ankitrawat_customize_partial_blog_title', 'fallback_refresh' => false, ) ); // Add Blog Description setting and control. $wp_customize->add_setting( 'ankitrawat_theme_options[blog_description]', array( 'default' => '', 'type' => 'option', 'transport' => 'postMessage', 'sanitize_callback' => 'wp_kses_post', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[blog_description]', array( 'label' => esc_html__( 'Blog Description', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[blog_description]', 'type' => 'textarea', 'priority' => 20, ) ); $wp_customize->selective_refresh->add_partial( 'ankitrawat_theme_options[blog_description]', array( 'selector' => '.blog-header .blog-description', 'render_callback' => 'ankitrawat_customize_partial_blog_description', 'fallback_refresh' => false, ) ); // Add Blog Layout setting and control. $wp_customize->add_setting( 'ankitrawat_theme_options[post_layout]', array( 'default' => 'three-columns', 'type' => 'option', 'transport' => 'postMessage', 'sanitize_callback' => 'ankitrawat_sanitize_select', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[post_layout]', array( 'label' => esc_html__( 'Blog Layout', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[post_layout]', 'type' => 'select', 'priority' => 30, 'choices' => array( 'two-columns' => esc_html__( 'Two Columns', 'ankit-rawat' ), 'three-columns' => esc_html__( 'Three Columns', 'ankit-rawat' ), 'four-columns' => esc_html__( 'Four Columns', 'ankit-rawat' ), ), ) ); $wp_customize->selective_refresh->add_partial( 'ankitrawat_theme_options[post_layout]', array( 'selector' => '.site-main .post-wrapper', 'render_callback' => 'ankitrawat_customize_partial_blog_layout', 'fallback_refresh' => false, ) ); // Add Setting and Control for Excerpt Length. $wp_customize->add_setting( 'ankitrawat_theme_options[excerpt_length]', array( 'default' => 25, 'type' => 'option', 'transport' => 'postMessage', 'sanitize_callback' => 'absint', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[excerpt_length]', array( 'label' => esc_html__( 'Excerpt Length', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[excerpt_length]', 'type' => 'text', 'priority' => 40, ) ); // Add Setting and Control for Read More Text. $wp_customize->add_setting( 'ankitrawat_theme_options[read_more_text]', array( 'default' => esc_html__( 'Read more', 'ankit-rawat' ), 'type' => 'option', 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[read_more_text]', array( 'label' => esc_html__( 'Read More Text', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[read_more_text]', 'type' => 'text', 'priority' => 50, ) ); // Add Magazine Widgets Headline. $wp_customize->add_control( new Gridbox_Customize_Header_Control( $wp_customize, 'ankitrawat_theme_options[blog_magazine_widgets_title]', array( 'label' => esc_html__( 'Magazine Widgets', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => array(), 'priority' => 60, ) ) ); // Add Setting and Control for Magazine widgets. $wp_customize->add_setting( 'ankitrawat_theme_options[blog_magazine_widgets]', array( 'default' => true, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'ankitrawat_sanitize_checkbox', ) ); $wp_customize->add_control( 'ankitrawat_theme_options[blog_magazine_widgets]', array( 'label' => esc_html__( 'Display Magazine widgets on blog index', 'ankit-rawat' ), 'section' => 'ankitrawat_section_blog', 'settings' => 'ankitrawat_theme_options[blog_magazine_widgets]', 'type' => 'checkbox', 'priority' => 70, ) ); } add_action( 'customize_register', 'ankitrawat_customize_register_blog_settings' ); /** * Render the blog title for the selective refresh partial. */ function ankitrawat_customize_partial_blog_title() { $theme_options = ankitrawat_theme_options(); echo wp_kses_post( $theme_options['blog_title'] ); } /** * Render the blog description for the selective refresh partial. */ function ankitrawat_customize_partial_blog_description() { $theme_options = ankitrawat_theme_options(); echo wp_kses_post( $theme_options['blog_description'] ); } /** * Render the blog layout for the selective refresh partial. */ function ankitrawat_customize_partial_blog_layout() { while ( have_posts() ) { the_post(); get_template_part( 'template-parts/content' ); } }