/home/millions/www/wp-content/themes/bizcor/functions.php
<?php
/**
* Bizcor theme functions and definitions
*
* @link https://developer.wordpress.org/themes/basics/theme-functions/
*
* @package WordPress
* @subpackage Bizcor
*
* @since Bizcor 0.1
*/
// Creating some of the theme constant variables here
$bizcor_theme = wp_get_theme();
define( 'BIZCOR_THEME_DIR', get_template_directory() );
define( 'BIZCOR_THEME_URI', get_template_directory_uri() );
define( 'BIZCOR_THEME_NAME', $bizcor_theme->get('Name') );
define( 'BIZCOR_THEME_VERSION', $bizcor_theme->get('Version') );
if( ! function_exists( 'bizcor_setup' ) ):
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since Bizcor 0.1
*
* @return void
*/
function bizcor_setup() {
// Defining a text domain name for the theme
load_theme_textdomain('bizcor');
// Supporting automatic feed links here
add_theme_support('automatic-feed-links');
// Supporting WordPress "Title" tags here
add_theme_support('title-tag');
// Supporting "Pages" and "Excerpt" here
add_post_type_support('page','excerpt');
// Supporting "Featured Images" for the pages here
add_theme_support('post-thumbnails');
// Supporting References Supports
add_theme_support( 'wp-block-styles');
add_theme_support( 'responsive-embeds');
add_theme_support( 'register_block_style');
add_theme_support( 'register_block_pattern');
add_theme_support( 'align-wide' );
// Setup global content-width here
global $content_width;
if ( ! isset( $content_width ) ) {
$content_width = 800;
}
// Registering primary navigation area here
register_nav_menus( array(
'primary' => esc_html__('Primary Menu','bizcor'),
) );
// Supporting HTML5 tags on the following theme parts
add_theme_support('html5',array(
'search-form',
'comment-form',
'comment-list',
'gallery',
'caption',
) );
// Enqueue editor styles for the theme
add_editor_style( array('assets/css/editor-style.css', bizcor_fonts_url() ) );
// Adding a custom logo image here
add_theme_support('custom-logo',array(
'height' => 73,
'width' => 210,
'flex-height' => true,
'flex-width' => true,
) );
// Adding a custom header image here
$args = array(
'width' => 1600,
'flex-width' => true,
'default-image'=> get_template_directory_uri() . '/img/sub-header.jpg',
'header-text' => false,
);
add_theme_support( 'custom-header', $args );
// Custom background theme supports
add_theme_support( 'custom-background' );
// Supporting following plugins for adding advanced theme features
add_theme_support( 'recommend-plugins', array(
'britetechs-companion' => array(
'name' => esc_html__( 'Britetechs Companion', 'bizcor' ),
'active_filename' => 'britetechs-companion/britetechs-companion.php',
'desc' => esc_html__( 'We highly recommend that you install the britetechs companion plugin to gain access to the team and testimonial sections.', 'bizcor' ),
),
'contact-form-7' => array(
'name' => esc_html__( 'Contact Form 7', 'bizcor' ),
'active_filename' => 'contact-form-7/wp-contact-form-7.php',
),
) );
// Adding selective refresh feature in the theme
add_theme_support( 'customize-selective-refresh-widgets' );
/*
* Enable support for Post Formats.
*
* See: https://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array(
'aside',
'image',
'video',
'quote',
'link',
'gallery',
'audio',
) );
// load starter Content.
add_theme_support( 'starter-content', bizcor_wp_starter_pack() );
}
add_action( 'after_setup_theme', 'bizcor_setup' );
endif;
if ( ! function_exists( 'bizcor_fonts_url' ) ) :
/**
* Enqueue google fonts.
*
* @since Bizcor 0.1
*
* @return void
*/
function bizcor_fonts_url() {
global $bizcor_options;
$fonts_url = '';
$Inter = _x( 'on', 'Inter font: on or off', 'bizcor' );
if ( 'off' !== $Inter ) {
$font_families = array();
if ( 'off' !== $Inter ) {
$font_families[] = 'Inter:100,200,300,400,500,600,700,800,900,italic';
}
$sections = array(
'body',
'h1',
'h2',
'h3',
'h4',
'h5',
'h6',
);
foreach( $sections as $section ){
$font = get_theme_mod('bizcor_'.$section.'_font');
if(isset($font) && $font != '' ){
$font_families[] = $font.':100,200,300,400,500,600,700,800,900,italic';
}
}
$subset = 'latin';
$query_args = array(
'family' => urlencode( implode( '|', $font_families ) ),
'subset' => urlencode( $subset ),
);
$fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css?family=' );
}
return esc_url_raw( $fonts_url );
}
endif;
if( ! function_exists('bizcor_widgets_register') ):
/**
* Registering theme widgets.
*
* @since Bizcor 0.1
*
* @return void
*/
function bizcor_widgets_register(){
register_sidebar( array(
'name' => esc_html__( 'Primary Sidebar', 'bizcor' ),
'id' => 'sidebar-1',
'description' => 'This sidebar contents will be show on the blog archive pages.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h5 class="widget-title">',
'after_title' => '</h5>',
) );
for ( $i = 1; $i<= 4; $i++ ) {
register_sidebar( array(
'name' => sprintf( __('Footer %s', 'bizcor'), $i ),
'id' => 'footer-' . $i,
'description' => 'This sidebar contents will be show in the footer '.$i.' column area.',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h5 class="widget-title">',
'after_title' => '</h5>',
) );
}
}
add_action('widgets_init','bizcor_widgets_register');
endif;
// Include css and js files
require get_template_directory() . '/inc/enqueue.php';
// Include default data file
require get_template_directory() . '/inc/default_data.php';
// Include helpers functions files
require get_template_directory() . '/inc/header_helpers.php';
require get_template_directory() . '/inc/footer_helpers.php';
require get_template_directory() . '/inc/sections_helpers.php';
require get_template_directory() . '/inc/blog_helpers.php';
// Include nav walker file
require get_template_directory() . '/inc/theme_nav_walker.php';
// Include template tags file
require get_template_directory() . '/inc/template_tags.php';
// Include dynamic css files
require get_template_directory() . '/inc/class-frontend-css.php';
require get_template_directory() . '/inc/css_output.php';
// Include customizer file
require get_template_directory() . '/inc/customizer/customizer.php';
// Include customizer recommanded plugins files
require get_parent_theme_file_path('/inc/customizer/install/class-install-helper.php');
require get_parent_theme_file_path('/inc/customizer/install/customizer_recommended_plugin.php');