/**
* 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' => '',
'before_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' => '',
'before_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' => '',
'before_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' => '',
'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' => '',
'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' => '',
'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' => '',
'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' => '',
'before_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