File "functions.php"
Full Path: /home/safaelji/recrut.automotomaroc.com/wp-content/themes/news-blog/functions.php
File size: 33.69 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* News Blog functions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package Best_Shop
*/
if ( ! function_exists( 'news_blog_default_settings' ) ) :
function news_blog_default_settings($setting_name){
$values = array (
'address_title' => '',
'address' => '',
'mail_title' => '',
'mail_description' => '',
'phone_title' => esc_html__('Call:', 'news-blog'),
'phone_number' => '',
'home_header_sections' => 'tags,marquee,header_post',
'home_body_sections' => 'slider,blog,post_1,post_2,post_3,post_4',
'home_footer_sections' => 'footer_post_1,footer_post_2',
'woo_category_title' => esc_html__('Top Categories', 'news-blog'),
'heading_font' => 'PT Serif',
'body_font' => 'Nunito Sans',
'footer_copyright' => '',
'primary_color' => '#2c63fd',
'secondary_color' => '#32B9A5',
'woo_bar_color' => '#fff',
'woo_bar_bg_color' => '#2c63fd',
'menu_text_color' => '#fff',
'menu_bg_color' => '#0065d8',
'text_color' => '#0c0c0c',
'topbar_bg_color' => '#2c63fd',
'topbar_text_color' => '#fff',
'preloader_enabled' => false,
'logo_width' => '130',
'layout_width' => '1280',
'enable_search' => true,
'ed_social_links' => true,
'social_links' => '',
'header_layout' => 'woocommerce-bar',
'hide_product_cat_search' => false,
'menu_layout' => 'default',
'header_banner_img' => '',
'enable_sticky_menu' => false,
'enable_back_to_top' => true,
'enable_popup_cart' => true,
'enable_top_bar' => true,
'top_bar_left_content' => 'datetime',
'top_bar_left_text' => esc_html__('edit top bar text', 'news-blog'),
'top_bar_right_content' => 'menu_social',
'enable_top_bar_datetime' => true,
'page_sidebar_layout' => 'no-sidebar',
'post_sidebar_layout' => 'right-sidebar',
'layout_style' => 'right-sidebar',
'woo_sidebar_layout' => 'left-sidebar',
'post_page_note_text' => '',
'enable_post_author' => false,
'enable_post_date' => false,
'enable_banner_comments' => false,
'enable_post_read_calc' => false,
'read_words_per_minute' => 200,
'related_post_title' => esc_html__( 'Similar Posts', 'news-blog' ),
'home_text' => esc_html__( 'Home', 'news-blog' ),
'enable_breadcrumb' => true,
'enable_banner_section' => 'static_banner',
'banner_title' => esc_html__( 'Donec Cras Ut Eget Justo Nec Semper Sapien Viverra Ante', 'news-blog' ),
'banner_content' => esc_html__( 'Structured gripped tape invisible moulded cups for sauppor firm hold strong powermesh front liner sport detail.', 'news-blog' ),
'banner_btn_label' => esc_html__( 'Read More', 'news-blog' ),
'banner_link' => '#',
'banner_btn_two_label' => esc_html__( 'About Us', 'news-blog' ),
'banner_btn_two_link' => '#',
'enable_newsletter_section' => true,
'newsletter_shortcode' => '',
'blog_section_title' => esc_html__( 'Blog Posts', 'news-blog' ),
'footer_text_color' => '#eee',
'footer_color' => '#000',
'footer_link' => 'https://gradientthemes.com/',
'footer_img' => '',
'subscription_shortcode' => '',
//news home sections
'home_body_layout' => 'right-sidebar',
//header
'hs_tags_count' => 15,
'hs_tags_title'=> esc_html__('Tags','news-blog'),
'hs_marquee_cat'=> 0,
'hs_marquee_title'=> esc_html__('Breaking News','news-blog'),
'hs_marquee_count'=> 10,
'hs_header_post_1_cat'=> 0,
'hs_header_post_1_layout'=> 1,
'hs_header_post_1_count'=> 3,
'hs_header_post_1_col'=> 'col-md-4 col-sm-4 col-lg-4 col-xs-12',
'hs_header_post_1_title'=> esc_html__('Header Post 1','news-blog'),
'hs_slider_1_cat'=> 0,
'hs_slider_count'=> 3,
//double sections
'hs_double_cat_1'=> 0,
'hs_double_layout_1'=> 4,
'hs_double_count_1'=> 6,
'hs_double_col_1'=> 'col-md-12 col-sm-12 col-lg-12 col-xs-12',
'hs_double_title_1'=> esc_html__('Post column 1','news-blog'),
'hs_double_cat_2'=> 0,
'hs_double_layout_2'=> 4,
'hs_double_count_2'=> 6,
'hs_double_col_2'=> 'col-md-12 col-sm-12 col-lg-12 col-xs-12',
'hs_double_title_2'=> esc_html__('Post column 2','news-blog'),
//post 1 - 4
'hs_post_1_cat'=> 0,
'hs_post_1_layout'=> 1,
'hs_post_1_count'=> 6,
'hs_post_1_col'=> 'col-md-6 col-sm-6 col-lg-6 col-xs-12',
'hs_post_1_title'=> esc_html__('Post Section 1','news-blog'),
//post 1 - 4
'home_section_blog_navigation_title'=> esc_html__('Post with Navigation','news-blog'),
'hs_post_2_cat'=> 0,
'hs_post_2_layout'=> 3,
'hs_post_2_count'=> 6,
'hs_post_2_col'=> 'col-md-6 col-sm-6 col-lg-6 col-xs-12',
'hs_post_2_title'=> esc_html__('Post Section 2','news-blog'),
'hs_post_3_cat'=> 0,
'hs_post_3_layout'=> 4,
'hs_post_3_count'=> 8,
'hs_post_3_col'=> 'col-md-6 col-sm-6 col-lg-6 col-xs-12',
'hs_post_3_title'=> esc_html__('Post Section 3','news-blog'),
'hs_post_4_cat'=> 0,
'hs_post_4_layout'=> 1,
'hs_post_4_count'=> 3,
'hs_post_4_col'=> 'col-md-4 col-sm-4 col-lg-4 col-xs-12',
'hs_post_4_title'=> esc_html__('Post Section 4','news-blog'),
//footer posts
'hs_footer_post_1_cat'=> 0,
'hs_footer_post_1_layout'=> 1,
'hs_footer_post_1_count'=> 3,
'hs_footer_post_1_col'=> 'col-md-4 col-sm-4 col-lg-4 col-xs-12',
'hs_footer_post_1_title'=> esc_html__('Footer Post Section 1','news-blog'),
'hs_footer_post_2_cat'=> 0,
'hs_footer_post_2_layout'=> 2,
'hs_footer_post_2_count'=> 4,
'hs_footer_post_2_col'=> 'col-md-3 col-sm-3 col-lg-3 col-xs-12',
'hs_footer_post_2_title'=> esc_html__('Footer Post Section 2','news-blog'),
);
$output = apply_filters('news_blog_settings', $values);
if(array_key_exists($setting_name, $output)){
return $output[$setting_name];
} else {
return "";
}
}
endif;
/**
* Custom fonts and colours
*/
function news_blog_custom_css() {
?>
<style type="text/css" id="custom-theme-colors" >
:root {
--gbl-primary-color: <?php echo esc_html(news_blog_get_setting('primary_color')); ?> ;
--gbl-secondary-color: <?php echo esc_html(news_blog_get_setting('secondary_color')); ?> ;
--gbl-primary-font: <?php echo esc_html(news_blog_get_setting('heading_font')).', Serif'; ?> ;
--gbl-secondary-font: <?php echo esc_html(news_blog_get_setting('body_font')).', Sans Serif'; ?> ;
--logo-width: <?php echo absint(news_blog_get_setting('logo_width')); ?> ;
--header-text-color: <?php echo esc_html('#'.get_header_textcolor()); ?> ;
--footer-color: <?php echo esc_html(news_blog_get_setting('footer_color')); ?> ;
--footer-text-color: <?php echo esc_html(news_blog_get_setting('footer_text_color')); ?> ;
--content-width: <?php echo absint(news_blog_get_setting('layout_width')).'px'; ?> ;
--woo-bar-color: <?php echo esc_html(news_blog_get_setting('woo_bar_color')); ?> ;
--woo-bar-bg-color: <?php echo esc_html(news_blog_get_setting('woo_bar_bg_color')); ?> ;
--menu-text-color: <?php echo esc_html(news_blog_get_setting('menu_text_color')); ?> ;
--menu-bg-color: <?php echo esc_html(news_blog_get_setting('menu_bg_color')); ?> ;
--text-color: <?php echo esc_html(news_blog_get_setting('text_color')); ?> ;
--topbar-bg-color: <?php echo esc_html(news_blog_get_setting('topbar_bg_color')); ?> ;
--topbar-text-color: <?php echo esc_html(news_blog_get_setting('topbar_text_color')); ?> ;
--e-global-color-primary: <?php echo esc_html(news_blog_get_setting('primary_color')); ?> ;
}
.site-branding img.custom-logo {
max-width:<?php echo esc_html(news_blog_get_setting('logo_width')); ?>px ;
}
@media (min-width: 1024px) {
#masthead {
background-image:url('<?php echo esc_url( get_header_image() ); ?>');
background-size: cover;
background-position: center center;
}
}
body.custom-background-image .site,
body.custom-background-color .site,
.mobile-navigation {
background-color: <?php echo esc_html('#'.get_background_color()); ?>;
}
.site-footer {
background:url("<?php echo esc_url(news_blog_get_setting('footer_img')); ?>") ;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
.site-footer .footer-overlay {
background-color:<?php echo esc_attr(news_blog_get_setting('footer_color')); ?>;
}
</style>
<?php
}
add_action( 'wp_head', 'news_blog_custom_css' );
/*
* Get default setting if no saved settings
*/
if ( ! function_exists( 'news_blog_get_setting' ) ) :
function news_blog_get_setting($setting_name){
return get_theme_mod($setting_name, news_blog_default_settings($setting_name));
}
endif;
$news_blog_theme_data = wp_get_theme();
if( ! defined( 'news_blog_VERSION' ) ) define( 'news_blog_VERSION', $news_blog_theme_data->get( 'Version' ) );
if( ! defined( 'news_blog_NAME' ) ) define( 'news_blog_NAME', $news_blog_theme_data->get( 'Name' ) );
if ( ! function_exists( 'news_blog_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support for post thumbnails.
*/
function news_blog_setup() {
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
* If you're building a theme based on News Blog, use a find and replace
* to change 'news-blog' to the name of your theme in all the template files.
*/
load_theme_textdomain( 'news-blog', get_template_directory() . '/languages' );
// Add default posts and comments RSS feed links to head.
add_theme_support( 'automatic-feed-links' );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
/*
* Enable support for Post Thumbnails on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
*/
add_theme_support( 'post-thumbnails' );
// Add featured image sizes
add_image_size('news-blog-slider-full', 1280, 720, true); // width, height, crop
add_image_size('news-blog-featured', 1024, 0, false); // width, height, crop
add_image_size('news-blog-medium', 720, 530, true); // width, height, crop
add_image_size('news-blog-medium-square', 350, 350, true); // width, height, crop
/*
* Enable support for Post Formats on posts and pages.
*
* @link https://developer.wordpress.org/themes/functionality/post-formats/
*/
add_theme_support( 'post-formats', array( 'image','audio', 'video', 'gallery' ) );
// This theme uses wp_nav_menu() in two locations.
register_nav_menus(
array(
'primary-menu' => esc_html__( 'Primary', 'news-blog' ),
'footer-menu' => esc_html__( 'Footer Menu', 'news-blog' ),
'top-bar-right-menu' => esc_html__( 'Top Bar Right Menu', 'news-blog' ),
'top-bar-left-menu' => esc_html__( 'Top Bar Left Menu', 'news-blog' ),
)
);
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support(
'html5',
array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
'style',
'script',
)
);
// Set up the WordPress core custom background feature.
add_theme_support(
'custom-background',
apply_filters(
'news_blog_custom_background_args',
array(
'default-color' => 'ffffff',
'default-image' => '',
)
)
);
// Add theme support for selective refresh for widgets.
add_theme_support( 'customize-selective-refresh-widgets' );
/**
* Add support for core custom logo.
*
* @link https://codex.wordpress.org/Theme_Logo
*/
add_theme_support(
'custom-logo',
array(
'flex-width' => true,
'flex-height' => true,
)
);
add_image_size( 'news_blog_popular_posts', 447, 367, true );
add_image_size( 'news_blog_archive', 420, 345, true );
add_image_size( 'news_blog_editor', 446, 297, true );
}
endif;
add_action( 'after_setup_theme', 'news_blog_setup' );
add_filter( 'doing_it_wrong_trigger_error', '__return_false' );
if( ! function_exists( 'news_blog_content_width' ) ) :
/**
* Set the content width in pixels, based on the theme's design and stylesheet.
*
* Priority 0 to make it available to lower priority callbacks.
*
* @global int $content_width
*/
function news_blog_content_width() {
$GLOBALS['content_width'] = apply_filters( 'news_blog_content_width', 820 );
}
endif;
add_action( 'after_setup_theme', 'news_blog_content_width', 0 );
if( ! function_exists( 'news_blog_scripts' ) ) :
/**
* Enqueue scripts and styles.
*/
function news_blog_scripts() {
wp_enqueue_style( 'news-blog-google-fonts', news_blog_google_fonts_url(), array(), null );
wp_enqueue_style( 'news-blog-bootstrap', get_template_directory_uri().'/css/bootstrap.css', array() );
wp_enqueue_script( 'news-blog-bootstrap', get_template_directory_uri() . '/js/bootstrap.js', array('jquery') );
wp_enqueue_style( 'news-blog-style', get_stylesheet_uri() );
wp_style_add_data( 'news-blog-style', 'rtl', 'replace' );
wp_enqueue_script( 'news-blog-navigation', get_template_directory_uri() . '/inc/assets/js/navigation.js', array(), news_blog_VERSION, true );
wp_enqueue_script( 'news-blog-model', get_template_directory_uri() . '/js/modal.js', array(), news_blog_VERSION, true );
wp_enqueue_script( 'news-blog--marquee', get_template_directory_uri() . '/js/jquery.marquee.js', array('jquery') );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
wp_enqueue_script( 'news-blog-custom', get_template_directory_uri() . '/js/custom.js',array( 'jquery' ), '', true );
}
endif;
add_action( 'wp_enqueue_scripts', 'news_blog_scripts' );
if ( ! function_exists( 'news_blog_admin_scripts' ) ) :
/**
* Enqueue admin css
*/
function news_blog_admin_scripts() {
wp_enqueue_style( 'news-blog-admin-style', get_template_directory_uri() . '/inc/assets/css/admin.css', array(), news_blog_VERSION );
//custom widget js
wp_register_script( 'news-blog-custom-widgets', get_template_directory_uri().'/js/widget.js', array( 'jquery' ), true );
wp_enqueue_media();
wp_enqueue_script( 'news-blog-custom-widgets' );
}
endif;
add_action( 'admin_enqueue_scripts', 'news_blog_admin_scripts' );
/**
* Elemenor Widget enqueue script
*/
add_action('elementor/editor/before_enqueue_scripts', function() {
wp_register_script( 'news-blog-custom-widgets', get_template_directory_uri().'/js/widget.js', array( 'jquery' ), true );
wp_enqueue_script( 'news-blog-custom-widgets' );
});
if( ! function_exists( 'news_blog_google_fonts_url' ) ) :
/**
* Register google font.
*/
function news_blog_google_fonts_url() {
$fonts_url = '';
/*
* Translators: If there are characters in your language that are not
* supported by "Open Sans", sans-serif;, translate this to 'off'. Do not translate
* into your own language.
*/
$typography = _x( 'on', 'Open Sans font: on or off', 'news-blog' );
if ( 'off' !== $typography ) {
$font_families = array();
$font_families[] = news_blog_get_setting('heading_font').':300,300i,400,400i,700,700i';
$font_families[] = news_blog_get_setting('body_font').':300,300i,400,400i,500,500i,600,600i';
$query_args = array(
'family' => urlencode( implode( '|', $font_families ) ),
'subset' => urlencode( 'latin,latin-ext' ),
);
$fonts_url = add_query_arg( $query_args, 'https://fonts.googleapis.com/css' );
}
return esc_url( $fonts_url );
}
endif;
if( ! function_exists( 'news_blog_body_classes' ) ) :
/**
* Adds custom classes to the array of body classes.
*
* @param array $classes Classes for the body element.
* @return array
*/
function news_blog_body_classes( $classes ) {
// Adds a class of hfeed to non-singular pages.
if ( ! is_singular() ) {
$classes[] = 'hfeed';
}
if( is_archive() || is_search() ){
$classes[] = 'layout-grid';
}
if( get_background_image() ) {
$classes[] = 'custom-background-image';
}
// Adds a class of custom-background-color to sites with a custom background color.
if( get_background_color() != 'ffffff' ) {
$classes[] = 'custom-background-color';
}
if( news_blog_get_setting('hide_product_cat_search')){
$classes[] = 'hide-woo-search-cat';
}
if( !news_blog_get_setting('enable_sticky_menu')){
$classes[] = 'disable-sticky-menu';
}
$classes[] = news_blog_sidebar_layout();
return $classes;
}
endif;
add_filter( 'body_class', 'news_blog_body_classes' );
if( ! function_exists( 'news_blog_pingback_header' ) ) :
/**
* Add a pingback url auto-discovery header for single posts, pages, or attachments.
*/
function news_blog_pingback_header() {
if ( is_singular() && pings_open() ) {
printf( '<link rel="pingback" href="%s">', esc_url( get_bloginfo( 'pingback_url' ) ) );
}
}
endif;
add_action( 'wp_head', 'news_blog_pingback_header' );
if ( ! function_exists( 'news_blog_widgets_init' ) ) :
/**
* News Blog Widget Areas
*
* @link https://developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
* @package Best_Shop
*/
function news_blog_widgets_init(){
$sidebars = array(
'sidebar-1' => array(
'name' => __( 'Sidebar', 'news-blog' ),
'id' => 'sidebar-1',
'description' => __( 'Default Sidebar', 'news-blog' ),
),
'woo-sidebar' => array(
'name' => __( 'WooCommerce Sidebar', 'news-blog' ),
'id' => 'woo-sidebar',
'description' => __( 'WooCommerce Sidebar', 'news-blog' ),
),
'header-widget' => array(
'name' => __( 'Homepage Advertisement', 'news-blog' ),
'id' => 'header-widget',
'description' => __( 'Place an "Image" widget for advertisement in the homepage. Recommended image size is 1440px by 230px.', 'news-blog' ),
),
'advanced-footer-widget-1'=> array(
'name' => __( 'Footer One', 'news-blog' ),
'id' => 'advanced-footer-widget-1',
'description' => __( 'Add footer one widgets here.', 'news-blog' ),
),
'advanced-footer-widget-2'=> array(
'name' => __( 'Footer Two', 'news-blog' ),
'id' => 'advanced-footer-widget-2',
'description' => __( 'Add footer two widgets here.', 'news-blog' ),
),
'advanced-footer-widget-3'=> array(
'name' => __( 'Footer Three', 'news-blog' ),
'id' => 'advanced-footer-widget-3',
'description' => __( 'Add footer three widgets here.', 'news-blog' ),
),
'advanced-footer-widget-4'=> array(
'name' => __( 'Footer Four', 'news-blog' ),
'id' => 'advanced-footer-widget-4',
'description' => __( 'Add footer four widgets here.', 'news-blog' ),
)
);
foreach( $sidebars as $sidebar ){
register_sidebar( array(
'name' => esc_html( $sidebar['name'] ),
'id' => esc_attr( $sidebar['id'] ),
'description' => esc_html( $sidebar['description'] ),
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title" itemprop="name"><span>',
'after_title' => '</span></h2>',
) );
}
}
endif;
add_action( 'widgets_init', 'news_blog_widgets_init' );
/**
* Custom Header
*/
if ( ! function_exists( 'news_blog_custom_header_setup' ) ) :
/**
* Set up the WordPress core custom header feature.
*
* @uses news_blog_header_style()
*/
function news_blog_custom_header_setup() {
add_theme_support(
'custom-header',
apply_filters(
'news_blog_custom_header_args',
array(
'default-image' => '',
'default-text-color' => '#000000',
'width' => 1920,
'height' => 760,
'flex-height' => true,
'video' => true,
'wp-head-callback' => 'news_blog_header_style',
)
)
);
}
endif;
add_action( 'after_setup_theme', 'news_blog_custom_header_setup' );
/**
* Here we are displaying the header video in:
* 1. Single page conditionally via: `is_page()` function
* 2. Single post page conditionally via: `is_single()` function
*/
function news_blog_video_header_pages( $active ) {
if ( is_home() || is_page() || is_single() ) {
return true;
}
return false;
}
add_filter( 'is_header_video_active', 'news_blog_video_header_pages' );
/*
* Header style
*/
if ( ! function_exists( 'news_blog_header_style' ) ) :
/**
* Styles the header image and text displayed on the blog.
*
* @see news_blog_custom_header_setup().
*/
function news_blog_header_style() {
$header_text_color = get_header_textcolor();
/*
* If no custom options for text are set, let's bail.
* get_header_textcolor() options: Any hex value, 'blank' to hide text. Default: add_theme_support( 'custom-header' ).
*/
if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) {
return;
}
// If we get this far, we have custom styles. Let's do this.
?>
<style type="text/css">
<?php
// Has the text been hidden?
if ( ! display_header_text() ) :
?>
.site-title,
.site-description {
position: absolute;
clip: rect(1px, 1px, 1px, 1px);
}
<?php
// If the user has set a custom color for the text use that.
else :
?>
.site-title a,
.site-description {
color: #<?php echo esc_attr( $header_text_color ); ?>;
}
<?php endif; ?>
</style>
<?php
}
endif;
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
require get_template_directory() . '/inc/template-tags2.php';
//require get_template_directory() . '/inc/widgets/product-slider.php';
//require get_template_directory() . '/inc/widgets/product-category-grid.php';
//require get_template_directory() . '/inc/widgets/tabbed-product-category.php';
//require get_template_directory() . '/inc/widgets/product-grid.php';
//require get_template_directory() . '/inc/widgets/tabbed-product-by-attribute.php';
//require get_template_directory() . '/inc/widgets/cat-list.php';
/**
* Post slider widget
*/
require get_template_directory() . '/inc/widgets/post-slider.php';
/**
* CTA Banner
*/
require get_template_directory() . '/inc/widgets/header-media.php';
/**
* Newsletter
*/
require get_template_directory() . '/inc/widgets/newsletter.php';
/**
* Social links
*/
require get_template_directory() . '/inc/widgets/social.php';
/***************
* News / Post *
***************/
require get_template_directory() . '/inc/widgets/news.php';
/**
* News / Post
*/
require get_template_directory() . '/inc/widgets/author.php';
/**
* News Tags
*/
require get_template_directory() . '/inc/widgets/news-tags.php';
/**
* News Marquee
*/
require get_template_directory() . '/inc/widgets/news-marquee.php';
/**
* Functions which enhance the theme by hooking into WordPress.
*/
require get_template_directory() . '/inc/template-functions.php';
if (class_exists('WP_Customize_Control')) {
/**
* Custom Controls
*/
require get_template_directory() . '/inc/controlset/custom-control.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer/customizer.php';
}
/**
*Partial refresh functions
*/
require get_template_directory() . '/inc/customizer/partial-refresh.php';
/**
* Load Jetpack compatibility file.
*/
if ( defined( 'JETPACK__VERSION' ) ) {
require get_template_directory() . '/inc/jetpack.php';
}
/**
* TGM Plugin activation
*/
require get_template_directory() . '/inc/tgmpa/recommended-plugins.php';
/**
* Add theme compatibility function for woocommerce if active
*/
if( news_blog_is_woocommerce_activated() ){
require get_template_directory() . '/inc/woo-functions.php';
}
/**
* Metabox
*/
require get_template_directory() . '/inc/metabox.php';
add_filter( 'news_blog_header_video_settings', 'news_blog_header_video_settings');
function news_blog_header_video_settings( $settings ) {
$settings['l10n'] = array(
'pause' => __( 'Pause video', 'news-blog' ),
'play' => __( 'Start video', 'news-blog'),
'pauseSpeak' => __( 'Video paused', 'news-blog'),
'playSpeak' => __( 'Video playing.', 'news-blog'),
);
return $settings;
}
/*
* Header Style
*/
$news_blog_header_layout = array(
'customizer-setting'=> array(
'value' => 'customizer-setting',
'label' => __( 'Use Customizer Header Layout', 'news-blog' ),
),
'woocommerce-bar' => array(
'value' => 'woocommerce-bar',
'label' => __( 'Show WooCommerce Options Bar', 'news-blog' ),
),
'transparent-header' => array(
'value' => 'transparent-header',
'label' => __( 'Transparent Header', 'news-blog' ),
),
);
function news_blog_get_header_style(){
global $post;
$layout = 'customizer-setting';
if ($post){
$layout = get_post_meta( $post->ID, '_news_blog_header_layout', true );
if ($layout == 'transparent-header' && ( !is_page() )) {
$layout = 'default';
}
return $layout;
} else {
return 'default';
}
}
/*
* Get category name and to an array once and reuse in widgets
*/
$news_blog_product_categories = array() ;
if(!class_exists('news_blog_Category_Item')) {
class news_blog_Category_Item {
public $image_url;
public $link;
public $name;
public $count;
public $id;
}
}
function news_blog_set_all_product_categories () {
$product_args = array(
'taxonomy' => 'product_cat',
'orderby' => 'date',
'order' => 'ASC',
'show_count' => 1,
'pad_counts' => 0,
'hierarchical' => 1,
'title_li' => '',
'hide_empty' => 1,
);
global $news_blog_product_categories;
$news_blog_product_categories = array() ;
$all_categories = get_categories($product_args);
foreach ($all_categories as $cat) {
$item = new news_blog_Category_Item();
$item->name = ($cat->cat_name) ;
$item->count = absint($cat->count);
$item->id = ($cat->term_id);
$thumbnail_id = get_term_meta($item->id, 'thumbnail_id', true);
$item->image_url = wp_get_attachment_url($thumbnail_id);
$item->link = esc_url(get_term_link($cat->slug, 'product_cat'));
array_push($news_blog_product_categories, $item );
}
}
add_action( 'news_blog_loop_add_to_cart', 'woocommerce_template_loop_add_to_cart', 10 );
add_action( 'admin_enqueue_scripts', 'news_blog_load_admin_style' );
function news_blog_load_admin_style() {
wp_enqueue_style( 'news_blog_admin_css', get_template_directory_uri() . '/css/admin.css', false, '1.0.0' );
}
/**
* Add cart to navigation menu
*/
function news_blog_add_search_form_to_menu($items, $args) {
// If this isn't the main navbar menu, do nothing
if( !($args->theme_location == 'primary-menu') )
return $items;
// On main menu: put styling around search and append it to the menu items
global $woocommerce;
$items .= '<li class="menu-item menu-item-type-custom menu-item-object-custom">'.
'<a id="woo-cart-menu-item" class="cart-contents" href=""></a></li>';
return $items;
}
if(class_exists('woocommerce')) {
add_filter('wp_nav_menu_items', 'news_blog_add_search_form_to_menu', 10, 2);
}
function news_blog_count_post_visits() {
if( is_single() ) {
global $post;
$views = get_post_meta( $post->ID, 'my_post_viewed', true );
if( $views == '' ) {
update_post_meta( $post->ID, 'my_post_viewed', '1' );
} else {
$views_no = intval( $views );
update_post_meta( $post->ID, 'my_post_viewed', ++$views_no );
}
}
}
add_action( 'wp_head', 'news_blog_count_post_visits' );
/*
* code to add cart, back to top popup
*/
add_action('wp_footer', 'news_blog_scroll_options');
function news_blog_scroll_options(){
if(class_exists('WooCommerce') && is_product() && news_blog_get_setting('enable_popup_cart')) { ?>
<div class="addtocart_btn">
<?php
global $product;
$news_blog_prod_id = $product->get_id();
echo wp_kses_post(do_shortcode("[add_to_cart id=$news_blog_prod_id show_price='false' style='border:0px;padding:0px']"));
?>
</div>
<?php } if(news_blog_get_setting('enable_back_to_top')) { ?>
<div class="backtotop" style="bottom: 25px;" ><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" class="bi bi-arrow-up" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"/>
</svg></div>
<?php }
}
if($pagenow == 'index.php' || $pagenow == 'themes.php'){
if ( isset( $_GET['hide_admin_notice'] ) ) {
update_option('news_blog_hide_admin_notice', 'dismiss--notice');
} else {
$news_blog_notice = get_option('news_blog_hide_admin_notice', '');
if ($news_blog_notice != 'dismiss--notice' || $news_blog_notice == '') {
add_action( 'admin_notices', 'news_blog_admin_notice_info' );
}
}
}
function news_blog_admin_notice_info() {
$class = 'notice notice-info is-dismissible';
$message = __( 'Appearance -> Customize -> Front page - Select posts as front page view. Edit home page sections and content.', 'news-blog' );
$dismiss = __( 'Dismiss', 'news-blog');
$tutorial = __( 'Theme tutorial', 'news-blog');
if (function_exists('news_blog_pro_textdomain')){
$tutorial = __( 'Theme Tutorial', 'news-blog');
}
printf( '<div class="%1$s"> <p>
<a class="news-blog-btn-get-started button button-primary news-blog-button-padding" href="#" data-name="" data-slug="" >'.esc_html__("Install Demos ... ","news-blog").'</a>
<a class="button button-primary news-blog-button-padding" target="_blank" href="'.esc_url( "https://wordpress.gradientthemes.com/blog/docs/news-blog-theme-tutorial/" ).'" ><b>'.$tutorial.'</b></a>
<span>%2$s</span> <em><a href="?hide_admin_notice" target="_self" class="dismiss-notice">%3$s</a></em> </p></div>', esc_attr( $class ), esc_html( $message ), esc_html( $dismiss ) );
}
function new_blog_post_page($title){
/* The template for displaying archive pages
* @link https://developer.wordpress.org/themes/basics/template-hierarchy/
* @package Best_Shop
*/
if($title) {
echo '<div class="mag-sec-title">';
echo '<h3 class="post-widget-title"><div>'.esc_html($title).'</div></h3>';
echo '</div>';
}
news_blog_author_box(); ?>
<div class="content-wrap-main">
<?php if ( have_posts() ) :
/* Start the Loop */
while ( have_posts() ) :
the_post();
/*
* Include the Post Type specific template for the content by get_post_type() fuction
*/
get_template_part( 'template-parts/content', get_post_type() );
endwhile;
else :
get_template_part( 'template-parts/content', 'none' );
endif;
?>
</div>
<?php
news_blog_nav();
get_template_part( 'template-parts/pagination' );
}