/** * Add extended Global and Categories section and it's fields inside footer main area Section. * * @package Mystery Themes * @subpackage News Portal * @since 1.5.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } add_action( 'customize_register', 'news_portal_register_footer_main_area_options' ); if ( ! function_exists( 'news_portal_register_footer_main_area_options' ) ) : /** * Register theme options for footer main area section. * * @param WP_Customize_Manager $wp_customize Object that holds the customizer data. * @since 1.0.0 */ function news_portal_register_footer_main_area_options( $wp_customize ) { /* * Failsafe is safe */ if ( ! isset( $wp_customize ) ) { return; } /** * Widget Area Section * * @since 1.0.0 */ $wp_customize->add_section( 'news_portal_footer_widget_section', array( 'title' => esc_html__( 'Widget Area', 'news-portal' ), 'panel' => 'news_portal_footer_settings_panel', 'priority' => 5, ) ); /** * Toggle option for footer widget area * * @since 1.0.0 */ $wp_customize->add_setting( 'news_portal_footer_widget_option', array( 'default' => news_portal_get_customizer_default( 'news_portal_footer_widget_option' ), 'sanitize_callback' => 'news_portal_sanitize_checkbox' ) ); $wp_customize->add_control( new News_Portal_Control_Toggle( $wp_customize, 'news_portal_footer_widget_option', array( 'priority' => 5, 'section' => 'news_portal_footer_widget_section', 'settings' => 'news_portal_footer_widget_option', 'label' => __( 'Footer Widget Section', 'news-portal' ), 'description' => __( 'Show/Hide option for footer widget area section.', 'news-portal' ) ) ) ); /** * Image Radio field for widget area column * * @since 1.0.0 */ $wp_customize->add_setting( 'footer_widget_layout', array( 'default' => news_portal_get_customizer_default( 'footer_widget_layout' ), 'sanitize_callback' => 'news_portal_sanitize_select', ) ); $wp_customize->add_control( new News_Portal_Control_Radio_Image( $wp_customize, 'footer_widget_layout', array( 'priority' => 10, 'label' => esc_html__( 'Footer Widget Layout', 'news-portal' ), 'description' => esc_html__( 'Choose layout from available layouts', 'news-portal' ), 'section' => 'news_portal_footer_widget_section', 'choices' => news_portal_footer_widget_layout_choices(), 'active_callback' => 'news_portal_has_enable_footer_widget' ) ) ); /** * Upgrade field for footer main area * * @since 1.5.0 */ $wp_customize->add_setting( 'news_preloader_upgrade_footer_main_area', array( 'sanitize_callback' => 'sanitize_text_field' ) ); $wp_customize->add_control( new News_Portal_Control_Upgrade( $wp_customize, 'news_preloader_upgrade_footer_main_area', array( 'priority' => 200, 'section' => 'news_portal_footer_widget_section', 'settings' => 'news_preloader_upgrade_footer_main_area', 'label' => __( 'More Features with News Portal Pro', 'news-portal' ), 'choices' => news_portal_upgrade_choices( 'news_portal_footer_area' ) ) ) ); } endif;/** * News Portal custom function and work related to widgets. * * @package Mystery Themes * @subpackage News Portal * @since 1.0.0 */ /*-----------------------------------------------------------------------------------------------------------------------*/ /** * Register widget area. * * @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar */ function news_portal_widgets_init() { /** * Register right sidebar * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Sidebar', 'news-portal' ), 'id' => 'sidebar-1', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register left sidebar * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Left Sidebar', 'news-portal' ), 'id' => 'news_portal_left_sidebar', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register header ads area * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Header Ads', 'news-portal' ), 'id' => 'news_portal_header_ads_area', 'description' => esc_html__( 'Add banner widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register home top section area * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Home Top Section', 'news-portal' ), 'id' => 'news_portal_home_top_section_area', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register home middle section area * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Home Middle Section', 'news-portal' ), 'id' => 'news_portal_home_middle_section_area', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register home middle aside area * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Home Middle Aside', 'news-portal' ), 'id' => 'news_portal_home_middle_aside_area', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register home bottom section area * * @since 1.0.0 */ register_sidebar( array( 'name' => esc_html__( 'Home Bottom Section', 'news-portal' ), 'id' => 'news_portal_home_bottom_section_area', 'description' => esc_html__( 'Add widgets here.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); /** * Register 4 different footer area * * @since 1.0.0 */ register_sidebars( 4 , array( 'name' => esc_html__( 'Footer %d', 'news-portal' ), 'id' => 'news_portal_footer_sidebar', 'description' => esc_html__( 'Added widgets are display at Footer Widget Area.', 'news-portal' ), 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'news_portal_widgets_init' ); /*-----------------------------------------------------------------------------------------------------------------------*/ /** * Register different widgets * * @since 1.1.8 */ add_action( 'widgets_init', 'news_portal_register_widgets' ); function news_portal_register_widgets() { // Ads Banner widget register_widget( 'News_Portal_Ads_Banner' ); // Block Posts widget register_widget( 'News_Portal_Block_Posts' ); // Carousel widget register_widget( 'News_Portal_Carousel' ); // Default Tabbed widget register_widget( 'News_Portal_Default_Tabbed' ); // Featured Posts widget register_widget( 'News_Portal_Featured_Posts' ); // Featured Slider widget register_widget( 'News_Portal_Featured_Slider' ); // Recent Posts widget register_widget( 'News_Portal_Recent_Posts' ); // Social Media widget register_widget( 'News_Portal_Social_Media' ); } /*-----------------------------------------------------------------------------------------------------------------------*/ /** * Load widget required files * * @since 1.0.0 */ require get_template_directory() . '/inc/widgets/np-widget-fields.php'; // Widget fields require get_template_directory() . '/inc/widgets/np-ads-banner.php'; // Ads banner widget require get_template_directory() . '/inc/widgets/np-featured-slider.php'; // Featured Slider widget require get_template_directory() . '/inc/widgets/np-featured-posts.php'; // Featured posts widget require get_template_directory() . '/inc/widgets/np-block-posts.php'; // Block posts widget require get_template_directory() . '/inc/widgets/np-carousel.php'; // Carousel widget require get_template_directory() . '/inc/widgets/np-social-media.php'; // Social Media widget require get_template_directory() . '/inc/widgets/np-recent-posts.php'; // Recent Posts widget require get_template_directory() . '/inc/widgets/np-default-tabbed.php'; // Default Tabbed widget