get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->default = '#333'; $wp_customize->get_control( 'header_textcolor' )->label = __( 'Text color', 'bfastmag' ); $wp_customize->get_control( 'header_textcolor' )->priority = 2; $wp_customize->remove_control( 'background_color' ); $wp_customize->get_control( 'custom_logo' )->section = 'bfastmag_appearance_general_logo'; $wp_customize->get_control( 'blogname' )->section = 'title_tagline2'; $wp_customize->get_control( 'blogdescription' )->section = 'title_tagline2'; $wp_customize->get_control( 'site_icon' )->section = 'title_tagline2'; $wp_customize->get_control( 'header_text' )->section = 'title_tagline2'; $wp_customize->add_section( 'bfastmag_theme_info', array( 'title' => __( 'Getting Started', 'bfastmag' ), 'priority' => 0, ) ); $wp_customize->add_setting( 'bfastmag_theme_info', array( 'capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_control( new bfastmag_Info( $wp_customize, 'bfastmag_theme_info', array( 'section' => 'bfastmag_theme_info', 'priority' => 10, ) ) ); /** ***************************** *********** Panels *********** */ $wp_customize->add_panel( 'general_panel', array( 'priority' => 10, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'General Options', 'bfastmag' ), ) ); $wp_customize->add_panel( 'featured_panel', array( 'priority' => 35, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Featured Blocks', 'bfastmag' ), ) ); $wp_customize->add_panel( 'sections_panel', array( 'priority' => 36, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'HomePage Blocks', 'bfastmag' ), ) ); $wp_customize->add_panel( 'social_links_panel', array( 'priority' => 40, 'capability' => 'edit_theme_options', 'title' => esc_html__( 'Social Links', 'bfastmag' ), ) ); $wp_customize->add_section( 'bfastmag_featured_big', array( 'title' => esc_html__( 'Featured Home Big Grid', 'bfastmag' ), 'priority' => 1, 'panel' => 'featured_panel', ) ); $wp_customize->add_section( 'bfastmag_featured_slider', array( 'title' => esc_html__( 'Featured Home Slider', 'bfastmag' ), 'priority' => 1, 'panel' => 'featured_panel', ) ); $wp_customize->add_section( 'title_tagline2', array( 'title' => esc_html__( 'Site Identity', 'bfastmag' ), 'priority' => 1, 'panel' => 'general_panel', ) ); $wp_customize->add_section( 'bfastmag_appearance_general_logo', array( 'title' => esc_html__( 'Logo', 'bfastmag' ), 'description' => esc_html__( 'Set Logo', 'bfastmag' ), 'priority' => 2, 'panel' => 'general_panel', ) ); $wp_customize->add_section( 'bfastmag_appearance_general', array( 'title' => esc_html__( 'Sticky Menu', 'bfastmag' ), 'description' => esc_html__( 'Disable Sticky Navigation Menu', 'bfastmag' ), 'priority' => 2, 'panel' => 'general_panel', ) ); $wp_customize->add_section( 'bfastmag_appearance_general', array( 'title' => esc_html__( 'Sticky Menu', 'bfastmag' ), 'description' => esc_html__( 'Disable Sticky Navigation Menu', 'bfastmag' ), 'priority' => 2, 'panel' => 'general_panel', ) ); $wp_customize->add_section( 'bfastmag_block1', array( 'title' => esc_html__( 'Block 1', 'bfastmag' ), 'priority' => 1, 'panel' => 'sections_panel', ) ); $wp_customize->add_section( 'bfastmag_block2', array( 'title' => esc_html__( 'Block 2', 'bfastmag' ), 'priority' => 2, 'panel' => 'sections_panel', ) ); $wp_customize->add_section( 'bfastmag_block3', array( 'title' => esc_html__( 'Block 3', 'bfastmag' ), 'priority' => 3, 'panel' => 'sections_panel', ) ); $wp_customize->add_section( 'bfastmag_block4', array( 'title' => esc_html__( 'Block 4', 'bfastmag' ), 'priority' => 4, 'panel' => 'sections_panel', ) ); $wp_customize->add_section( 'bfastmag_block5', array( 'title' => esc_html__( 'Block 5', 'bfastmag' ), 'priority' => 5, 'panel' => 'sections_panel', ) ); $wp_customize->add_section( 'bfastmag_single_post', array( 'title' => __( 'Single post settings', 'bfastmag' ), 'priority' => 38, ) ); $wp_customize->add_section( 'static_front_page', array( 'title' => __( 'HomePage Layout', 'bfastmag' ), 'priority' => 20, 'description' => __( 'Set the Home Page Layout.Your theme supports a static front page.', 'bfastmag' ), ) ); $wp_customize->add_section( 'title_tagline', array( 'title' => __( 'General Options' , 'bfastmag' ), 'priority' => 10, 'description' => __( 'General Options.', 'bfastmag' ), ) ); /** * Option to get the frontpage settings to the old default template if a static frontpage is selected */ $wp_customize->add_setting( 'bfastmag_set_original_fp', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => false )); $wp_customize->add_control( 'bfastmag_set_original_fp', array( 'type' => 'checkbox', 'label' => esc_html__( 'Use Magazine Style frontpage?','bfastmag' ), 'section' => 'static_front_page', 'priority' => 9, )); /** ***************************** ********** Settings *********** */ $wp_customize->add_setting( 'bfastmag_title_color', array( 'default' => apply_filters( 'bfastmag_title_color_default_filter', '#333' ), 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_top_slider_post_title_color', array( 'default' => '#ffffff', 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_blocks_post_title_color', array( 'default' => apply_filters( 'bfastmag_blocks_post_title_color_default_filter', '#333' ), 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_social_links', array( 'transport' => 'postMessage', 'sanitize_callback' => 'bfastmag_sanitize_repeater', ) ); $wp_customize->add_setting( 'bfastmag_sticky_menu', array( 'default' => false, 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_featured_big_disable', array( 'default' => false, 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_featured_big_category', array( 'default' => 'all', 'transport' => 'postMessage', 'sanitize_callback' => 'bfastmag_sanitize_category_dropdown', ) ); $wp_customize->add_setting( 'bfastmag_featured_slider_disable', array( 'default' => false, 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_featured_slider_category', array( 'default' => 'all', 'transport' => 'postMessage', 'sanitize_callback' => 'bfastmag_sanitize_category_dropdown', ) ); $wp_customize->add_setting( 'bfastmag_featured_slider_title', array( 'default' => esc_html__( 'Latest Topics', 'bfastmag' ), 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_featured_slider_max_posts', array( 'default' => 6, 'transport' => 'postMessage', 'sanitize_callback' => 'absint', ) ); for ( $i = 1; $i <= 4; $i ++ ) { $bfastmag_block_name = ''; switch ( $i ) { case 1: $bfastmag_block_name = esc_html__( 'Block 1', 'bfastmag' ); $wp_customize->add_setting( 'bfastmag_block' . $i . '_posts_per_page', array( 'default' => 4, 'transport' => 'postMessage', 'sanitize_callback' => 'absint', ) ); break; case 2: $bfastmag_block_name = esc_html__( 'Block 2', 'bfastmag' ); break; case 3: $bfastmag_block_name = esc_html__( 'Block 3', 'bfastmag' ); break; case 4: $bfastmag_block_name = esc_html__( 'Block 4', 'bfastmag' ); break; } $wp_customize->add_setting( 'bfastmag_block' . $i . '_disable', array( 'default' => true, 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_block' . $i . '_title', array( 'default' => $bfastmag_block_name, 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_block' . $i . '_category', array( 'default' => 'all', 'transport' => 'postMessage', 'sanitize_callback' => 'bfastmag_sanitize_category_dropdown', ) ); $wp_customize->add_setting( 'bfastmag_block' . $i . '_max_posts', array( 'default' => 6, 'transport' => 'postMessage', 'sanitize_callback' => 'absint', ) ); if($i==1){ $wp_customize->add_setting( 'bfastmag_block' . $i . '_max_posts', array( 'default' => 8, 'transport' => 'postMessage', 'sanitize_callback' => 'absint', ) ); } }// End for(). $wp_customize->add_setting( 'bfastmag_disable_single_hide_author', array( 'defalt' => true, 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_single_post_hide_related_posts', array( 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); $wp_customize->add_setting( 'bfastmag_disable_singlePost_featured_img', array( 'default' => '1', 'transport' => 'postMessage', 'sanitize_callback' => 'sanitize_text_field', ) ); /** ***************************** ********** Controls *********** */ $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'bfastmag_title_color', array( 'label' => esc_html__( 'Home Blocks, Widget Title color', 'bfastmag' ), 'section' => 'colors', 'priority' => 1, ) ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'bfastmag_top_slider_post_title_color', array( 'label' => esc_html__( 'Top slider\'s posts title color', 'bfastmag' ), 'section' => 'colors', 'priority' => 3, ) ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'bfastmag_blocks_post_title_color', array( 'label' => esc_html__( 'Block\'s posts title color', 'bfastmag' ), 'section' => 'colors', 'priority' => 5, ) ) ); $wp_customize->add_control( 'bfastmag_sticky_menu', array( 'type' => 'checkbox', 'label' => esc_html__( 'Disable Sticky Menu', 'bfastmag' ), 'section' => 'bfastmag_appearance_general', 'priority' => 2, ) ); $wp_customize->add_control( 'bfastmag_featured_big_disable', array( 'type' => 'checkbox', 'label' => __( 'Disable section', 'bfastmag' ), 'section' => 'bfastmag_featured_big', 'priority' => 1, ) ); $wp_customize->add_control( new bfastmagChooseCategory( $wp_customize, 'bfastmag_featured_big_category', array( 'label' => esc_html__( 'Category', 'bfastmag' ), 'section' => 'bfastmag_featured_big', 'priority' => 2, ) ) ); $wp_customize->add_control( 'bfastmag_featured_slider_disable', array( 'type' => 'checkbox', 'label' => __( 'Disable section', 'bfastmag' ), 'section' => 'bfastmag_featured_slider', 'priority' => 1, ) ); $wp_customize->add_control( 'bfastmag_featured_slider_title', array( 'label' => esc_html__( 'Title', 'bfastmag' ), 'section' => 'bfastmag_featured_slider' , 'priority' => 3, ) ); $wp_customize->add_control( new bfastmagChooseCategory( $wp_customize, 'bfastmag_featured_slider_category', array( 'label' => esc_html__( 'Category', 'bfastmag' ), 'section' => 'bfastmag_featured_slider', 'priority' => 2, ) ) ); $wp_customize->add_control( 'bfastmag_featured_slider_max_posts', array( 'label' => esc_html__( 'Number of posts in this section', 'bfastmag' ), 'description' => esc_html__( 'To display all posts, set this field to -1.', 'bfastmag' ), 'section' => 'bfastmag_featured_slider', 'type' => 'number', 'input_attrs' => array( 'min' => - 1, 'step' => 1, ), 'priority' => 3, ) ); for ( $i = 1; $i <= 4; $i ++ ) { $wp_customize->add_control( 'bfastmag_block' . $i . '_disable', array( 'type' => 'checkbox', 'label' => __( 'Disable section', 'bfastmag' ), 'section' => 'bfastmag_block' . $i, 'priority' => 1, ) ); $wp_customize->add_control( 'bfastmag_block' . $i . '_title', array( 'label' => esc_html__( 'Title', 'bfastmag' ), 'section' => 'bfastmag_block' . $i, 'priority' => 3, ) ); $wp_customize->add_control( new bfastmagChooseCategory( $wp_customize, 'bfastmag_block' . $i . '_category', array( 'label' => esc_html__( 'Category', 'bfastmag' ), 'section' => 'bfastmag_block' . $i, 'priority' => 4, ) ) ); $wp_customize->add_control( 'bfastmag_block' . $i . '_max_posts', array( 'label' => esc_html__( 'Number of posts', 'bfastmag' ), 'description' => esc_html__( 'To display all posts, set this field to -1.', 'bfastmag' ), 'section' => 'bfastmag_block' . $i, 'type' => 'number', 'input_attrs' => array( 'min' => - 1, 'step' => 1, ), 'priority' => 5, ) ); if ( $i === 1 ) { $wp_customize->add_control( 'bfastmag_block' . $i . '_posts_per_page', array( 'label' => esc_html__( 'Number of posts in each slide', 'bfastmag' ), 'section' => 'bfastmag_block' . $i, 'type' => 'number', 'input_attrs' => array( 'min' => 1, 'step' => 1, ), 'priority' => 6, ) ); } }// End for(). $wp_customize->add_control( 'bfastmag_disable_single_hide_author', array( 'type' => 'checkbox', 'label' => __( 'Hide author\'s description?', 'bfastmag' ), 'description' => __( 'Check this box to hide the author\'s description Box on single page.', 'bfastmag' ), 'section' => 'bfastmag_single_post', 'priority' => 1, ) ); $wp_customize->add_control( 'bfastmag_single_post_hide_related_posts', array( 'type' => 'checkbox', 'label' => __( 'Hide related posts?', 'bfastmag' ), 'description' => __( 'Check this box to remove Related posts on single page.', 'bfastmag' ), 'section' => 'bfastmag_single_post', 'priority' => 2, ) ); $wp_customize->add_control( 'bfastmag_disable_singlePost_featured_img', array( 'type' => 'checkbox', 'label' => __( 'Hide Featured Image on single page?', 'bfastmag' ), 'description' => __( 'Check this box to hide Featured Image on single page.', 'bfastmag' ), 'section' => 'bfastmag_single_post', 'priority' => 3, ) ); } add_action( 'customize_register', 'bfastmag_customize_register' ); /** * Sanitize repeater * * @param object $input Json array. * * @return mixed|string|void */ function bfastmag_sanitize_repeater( $input ) { $input_decoded = json_decode( $input, true ); if ( ! empty( $input_decoded ) ) { foreach ( $input_decoded as $boxk => $box ) { foreach ( $box as $key => $value ) { $input_decoded[ $boxk ][ $key ] = wp_kses_post( force_balance_tags( $value ) ); } } return json_encode( $input_decoded ); } return $input; } /** * Sanitize dropdown. * * @param string $input Category slug. * * @return string */ function bfastmag_sanitize_category_dropdown( $input ) { $cat = get_category_by_slug( $input ); if ( empty( $cat ) ) { return 'all'; } return $input; } /** * Sanitize banner. * * @param object $input Banner input. * * @return mixed|string */ function bfastmag_sanitize_banner( $input ) { $input_decoded = json_decode( $input, true ); $choice = $input_decoded['choice']; $position = $input_decoded['position']; $code = html_entity_decode( $input_decoded['code'] ); $link = $input_decoded['link']; $image = $input_decoded['image_url']; $banner_type = array( 'code', 'image' ); if ( ! in_array( $choice, $banner_type ) ) { $input_decoded['choice'] = 'image'; } $banner_position = array( 'right', 'center', 'left' ); if ( ! in_array( $position, $banner_position ) ) { $input_decoded['position'] = 'center'; } $allowed_html = array( 'a' => array( 'href' => array(), 'class' => array(), 'id' => array(), 'target' => array(), ), 'img' => array( 'src' => array(), 'alt' => array(), 'title' => array(), 'width' => array(), 'height' => array(), ), 'iframe' => array( 'src' => array(), 'width' => array(), 'height' => array(), 'seamless' => array(), 'scrolling' => array(), 'frameborder' => array(), 'allowtransparency' => array(), ), ); $string = force_balance_tags( $code ); $input_decoded['code'] = wp_kses( $string, $allowed_html ); $input_decoded['link'] = esc_url( $link ); $input_decoded['image'] = esc_url( $image ); return json_encode( $input_decoded ); } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function bfastmag_customize_preview_js() { wp_enqueue_script( 'bfastmag_customizer', get_template_directory_uri() . '/assets/js/customizer.js', array( 'customize-preview' ), '1.0.5', true ); wp_localize_script( 'bfastmag_customizer', 'get_post_aj', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ), ) ); } add_action( 'customize_preview_init', 'bfastmag_customize_preview_js' ); /** * Load dynamic logic for the customizer controls area. */ function bfastmag_customizer_panels_js() { wp_enqueue_style( 'bfastmag-fontawesome-admin', get_template_directory_uri() . '/assets/css/font-awesome.min.css',array(), '4.6.3' ); wp_enqueue_script( 'bfastmag-customize-controls', get_template_directory_uri() . '/assets/js/bfastmag-customize-controls.js', array( 'jquery', 'jquery-ui-draggable' ), '1.0.2', true ); wp_enqueue_style( 'bfastmag-admin-style', get_template_directory_uri() . '/assets/css/admin-style.css','1.0.0' ); } add_action( 'customize_controls_enqueue_scripts', 'bfastmag_customizer_panels_js' );