add_section( 'assemble_blog_pagination', array( 'title' => esc_html__( 'Pagination', 'assemble-blog' ), 'panel' => 'assemble_blog_theme_options_panel', ) ); // Pagination enable setting. $wp_customize->add_setting( 'assemble_blog_pagination_enable', array( 'default' => true, 'sanitize_callback' => 'assemble_blog_sanitize_checkbox', ) ); $wp_customize->add_control( new Assemble_Blog_Toggle_Checkbox_Custom_control( $wp_customize, 'assemble_blog_pagination_enable', array( 'label' => esc_html__( 'Enable Pagination.', 'assemble-blog' ), 'settings' => 'assemble_blog_pagination_enable', 'section' => 'assemble_blog_pagination', 'type' => 'checkbox', ) ) ); // Pagination - Pagination Style. $wp_customize->add_setting( 'assemble_blog_pagination_type', array( 'default' => 'loadmore', 'sanitize_callback' => 'assemble_blog_sanitize_select', ) ); $wp_customize->add_control( 'assemble_blog_pagination_type', array( 'label' => esc_html__( 'Pagination Style', 'assemble-blog' ), 'section' => 'assemble_blog_pagination', 'type' => 'select', 'choices' => array( 'default' => __( 'Default (Older/Newer)', 'assemble-blog' ), 'numeric' => __( 'Numeric', 'assemble-blog' ), 'loadmore' => __( 'Load More Button', 'assemble-blog' ), ), 'active_callback' => 'assemble_blog_pagination_enabled', ) ); // Loadmore text label. $wp_customize->add_setting( 'assemble_blog_loadmore_text_label', array( 'default' => __( 'Load More', 'assemble-blog' ), 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( 'assemble_blog_loadmore_text_label', array( 'label' => esc_html__( 'Load More Button Label', 'assemble-blog' ), 'settings' => 'assemble_blog_loadmore_text_label', 'section' => 'assemble_blog_pagination', 'active_callback' => 'assemble_blog_loadmore_text_label_enabled', ) ); /*========================Active Callback==============================*/ function assemble_blog_pagination_enabled( $control ) { return $control->manager->get_setting( 'assemble_blog_pagination_enable' )->value(); } function assemble_blog_loadmore_text_label_enabled( $control ) { $pagination = $control->manager->get_setting( 'assemble_blog_pagination_type' )->value(); return assemble_blog_pagination_enabled( $control ) && ( 'loadmore' === $pagination ); }