if (!class_exists('WhiteC_Theme_Setup')) {
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since 1.0.0
*/
class WhiteC_Theme_Setup
{
/**
* A reference to an instance of this class.
*
* @since 1.0.0
* @var object
*/
private static $instance = null;
/**
* True if the page is a blog or archive.
*
* @since 1.0.0
* @var Boolean
*/
private $is_blog = false;
/**
* Sidebar position.
*
* @since 1.0.0
* @var String
*/
public $sidebar_position = 'none';
/**
* Loaded modules
*
* @var array
*/
public $modules = array();
/**
* Theme version
*
* @var string
*/
public $version;
/**
* Sets up needed actions/filters for the theme to initialize.
*
* @since 1.0.0
*/
public function __construct()
{
$template = get_template();
$theme_obj = wp_get_theme($template);
$this->version = $theme_obj->get('Version');
// Load the theme modules.
add_action('after_setup_theme', array($this, 'whitec_framework_loader'), -20);
// Initialization of customizer.
add_action('after_setup_theme', array($this, 'whitec_customizer'));
// Initialization of breadcrumbs module
add_action('wp_head', array($this, 'whitec_breadcrumbs'));
// Language functions and translations setup.
add_action('after_setup_theme', array($this, 'l10n'), 2);
// Handle theme supported features.
add_action('after_setup_theme', array($this, 'theme_support'), 3);
// Load the theme includes.
add_action('after_setup_theme', array($this, 'includes'), 4);
// Load theme modules.
add_action('after_setup_theme', array($this, 'load_modules'), 5);
// Init properties.
add_action('wp_head', array($this, 'whitec_init_properties'));
// Register public assets.
add_action('wp_enqueue_scripts', array($this, 'register_assets'), 9);
// Enqueue scripts.
add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 10);
// Enqueue styles.
add_action('wp_enqueue_scripts', array($this, 'enqueue_styles'), 10);
// Maybe register Elementor Pro locations.
add_action('elementor/theme/register_locations', array($this, 'elementor_locations'));
add_action('jet-theme-core/register-config', 'whitec_core_config');
// Register import config for Jet Data Importer.
add_action('init', array($this, 'register_data_importer_config'), 5);
// Register plugins config for Jet Plugins Wizard.
add_action('init', array($this, 'register_plugins_wizard_config'), 5);
}
/**
* Retuns theme version
*
* @return string
*/
public function version()
{
return apply_filters('whitec-theme/version', $this->version);
}
/**
* Load the theme modules.
*
* @since 1.0.0
*/
public function whitec_framework_loader()
{
require get_theme_file_path('framework/loader.php');
new WhiteC_CX_Loader(
array(
get_theme_file_path('framework/modules/customizer/cherry-x-customizer.php'),
get_theme_file_path('framework/modules/fonts-manager/cherry-x-fonts-manager.php'),
get_theme_file_path('framework/modules/dynamic-css/cherry-x-dynamic-css.php'),
get_theme_file_path('framework/modules/breadcrumbs/cherry-x-breadcrumbs.php'),
)
);
}
/**
* Run initialization of customizer.
*
* @since 1.0.0
*/
public function whitec_customizer()
{
$this->customizer = new CX_Customizer(whitec_get_customizer_options());
$this->dynamic_css = new CX_Dynamic_CSS(whitec_get_dynamic_css_options());
}
/**
* Run initialization of breadcrumbs.
*
* @since 1.0.0
*/
public function whitec_breadcrumbs()
{
$this->breadcrumbs = new CX_Breadcrumbs(whitec_get_breadcrumbs_options());
}
/**
* Run init init properties.
*
* @since 1.0.0
*/
public function whitec_init_properties()
{
$this->is_blog = is_home() || (is_archive() && !is_tax() && !is_post_type_archive()) ? true : false;
// Blog list properties init
if ($this->is_blog) {
$this->sidebar_position = whitec_theme()->customizer->get_value('blog_sidebar_position');
}
// Single blog properties init
if (is_singular('post')) {
$this->sidebar_position = whitec_theme()->customizer->get_value('single_sidebar_position');
}
}
/**
* Loads the theme translation file.
*
* @since 1.0.0
*/
public function l10n()
{
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
*/
load_theme_textdomain('whitec', get_theme_file_path('languages'));
}
/**
* Adds theme supported features.
*
* @since 1.0.0
*/
public function theme_support()
{
global $content_width;
if (!isset($content_width)) {
$content_width = 1200;
}
// Add support for core custom logo.
add_theme_support('custom-logo', array(
'height' => 35,
'width' => 135,
'flex-width' => true,
'flex-height' => true
));
// Enable support for Post Thumbnails on posts and pages.
add_theme_support('post-thumbnails');
// Enable HTML5 markup structure.
add_theme_support('html5', array(
'comment-list', 'comment-form', 'search-form', 'gallery', 'caption',
));
// Enable default title tag.
add_theme_support('title-tag');
// Enable post formats.
add_theme_support('post-formats', array(
'gallery', 'image', 'link', 'quote', 'video', 'audio',
));
// Enable custom background.
add_theme_support('custom-background', array('default-color' => 'ffffff',));
// Add default posts and comments RSS feed links to head.
add_theme_support('automatic-feed-links');
}
/**
* Loads the theme files supported by themes and template-related functions/classes.
*
* @since 1.0.0
*/
public function includes()
{
/**
* Configurations.
*/
require_once get_theme_file_path('config/layout.php');
require_once get_theme_file_path('config/menus.php');
require_once get_theme_file_path('config/sidebars.php');
require_once get_theme_file_path('config/modules.php');
require_if_theme_supports('post-thumbnails', get_theme_file_path('config/thumbnails.php'));
require_once get_theme_file_path('inc/modules/base.php');
/**
* Classes.
*/
require_once get_theme_file_path('inc/classes/class-widget-area.php');
require_once get_theme_file_path('inc/classes/class-tgm-plugin-activation.php');
/**
* Functions.
*/
require_once get_theme_file_path('inc/template-tags.php');
require_once get_theme_file_path('inc/template-menu.php');
require_once get_theme_file_path('inc/template-meta.php');
require_once get_theme_file_path('inc/template-comment.php');
require_once get_theme_file_path('inc/template-related-posts.php');
require_once get_theme_file_path('inc/extras.php');
require_once get_theme_file_path('inc/customizer.php');
require_once get_theme_file_path('inc/breadcrumbs.php');
require_once get_theme_file_path('inc/context.php');
require_once get_theme_file_path('inc/hooks.php');
require_once get_theme_file_path('inc/register-plugins.php');
/**
* Hooks.
*/
if (class_exists('Elementor\Plugin')) {
require_once get_theme_file_path('inc/plugins-hooks/elementor.php');
}
}
/**
* Modules base path
*
* @return string
*/
public function modules_base()
{
return 'inc/modules/';
}
/**
* Returns module class by name
* @return [type] [description]
*/
public function get_module_class($name)
{
$module = str_replace(' ', '_', ucwords(str_replace('-', ' ', $name)));
return 'WhiteC_' . $module . '_Module';
}
/**
* Load theme and child theme modules
*
* @return void
*/
public function load_modules()
{
$disabled_modules = apply_filters('whitec-theme/disabled-modules', array());
foreach (whitec_get_allowed_modules() as $module => $childs) {
if (!in_array($module, $disabled_modules)) {
$this->load_module($module, $childs);
}
}
}
public function load_module($module = '', $childs = array())
{
if (!file_exists(get_theme_file_path($this->modules_base() . $module . '/module.php'))) {
return;
}
require_once get_theme_file_path($this->modules_base() . $module . '/module.php');
$class = $this->get_module_class($module);
if (!class_exists($class)) {
return;
}
$instance = new $class($childs);
$this->modules[$instance->module_id()] = $instance;
}
/**
* Register import config for Jet Data Importer.
*
* @since 1.0.0
*/
public function register_data_importer_config()
{
if (!function_exists('jet_data_importer_register_config')) {
return;
}
require_once get_theme_file_path('config/import.php');
/**
* @var array $config Defined in config file.
*/
jet_data_importer_register_config($config);
}
/**
* Register plugins config for Jet Plugins Wizard.
*
* @since 1.0.0
*/
public function register_plugins_wizard_config()
{
if (!function_exists('jet_plugins_wizard_register_config')) {
return;
}
if (!is_admin()) {
return;
}
require_once get_theme_file_path('config/plugins-wizard.php');
/**
* @var array $config Defined in config file.
*/
jet_plugins_wizard_register_config($config);
}
/**
* Register assets.
*
* @since 1.0.0
*/
public function register_assets()
{
wp_register_script(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/jquery.magnific-popup.min.js'),
array('jquery'),
'1.1.0',
true
);
wp_register_script(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.jquery.min.js'),
array('jquery'),
'4.3.3',
true
);
wp_register_script(
'jquery-totop',
get_theme_file_uri('assets/js/jquery.ui.totop.min.js'),
array('jquery'),
'1.2.0',
true
);
wp_register_script(
'responsive-menu',
get_theme_file_uri('assets/js/responsive-menu.js'),
array(),
'1.0.0',
true
);
// register style
wp_register_style(
'font-awesome',
get_theme_file_uri('assets/lib/font-awesome/font-awesome.min.css'),
array(),
'4.7.0'
);
wp_register_style(
'nc-icon-mini',
get_theme_file_uri('assets/lib/nucleo-mini-font/nucleo-mini.css'),
array(),
'1.0.0'
);
wp_register_style(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/magnific-popup.min.css'),
array(),
'1.1.0'
);
wp_register_style(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.min.css'),
array(),
'4.3.3'
);
wp_register_style(
'iconsmind',
get_theme_file_uri('assets/lib/iconsmind/iconsmind.min.css'),
array(),
'1.0.0'
);
}
/**
* Enqueue scripts.
*
* @since 1.0.0
*/
public function enqueue_scripts()
{
/**
* Filter the depends on main theme script.
*
* @since 1.0.0
* @var array
*/
$scripts_depends = apply_filters('whitec-theme/assets-depends/script', array(
'jquery',
'responsive-menu'
));
if ($this->is_blog || is_singular('post')) {
array_push($scripts_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_script(
'whitec-theme-script',
get_theme_file_uri('assets/js/theme-script.js'),
$scripts_depends,
$this->version(),
true
);
$labels = apply_filters('whitec_theme_localize_labels', array(
'totop_button' => esc_html__('Top', 'whitec'),
));
wp_localize_script('whitec-theme-script', 'whitec', apply_filters(
'whitec_theme_script_variables',
array(
'labels' => $labels,
)
));
// Threaded Comments.
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
/**
* Enqueue styles.
*
* @since 1.0.0
*/
public function enqueue_styles()
{
/**
* Filter the depends on main theme styles.
*
* @since 1.0.0
* @var array
*/
$styles_depends = apply_filters('whitec-theme/assets-depends/styles', array(
'font-awesome', 'iconsmind', 'nc-icon-mini',
));
if ($this->is_blog || is_singular('post')) {
array_push($styles_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_style(
'whitec-theme-style',
get_stylesheet_uri(),
$styles_depends,
$this->version()
);
if (is_rtl()) {
wp_enqueue_style(
'rtl',
get_theme_file_uri('rtl.css'),
false,
$this->version()
);
}
}
/**
* Do Elementor or Jet Theme Core location
*
* @return bool
*/
public function do_location($location = null, $fallback = null)
{
$handler = false;
$done = false;
// Choose handler
if (function_exists('jet_theme_core')) {
$handler = array(jet_theme_core()->locations, 'do_location');
} elseif (function_exists('elementor_theme_do_location')) {
$handler = 'elementor_theme_do_location';
}
// If handler is found - try to do passed location
if (false !== $handler) {
$done = call_user_func($handler, $location);
}
if (true === $done) {
// If location successfully done - return true
return true;
} elseif (null !== $fallback) {
// If for some reasons location coludn't be done and passed fallback template name - include this template and return
if (is_array($fallback)) {
// fallback in name slug format
get_template_part($fallback[0], $fallback[1]);
} else {
// fallback with just a name
get_template_part($fallback);
}
return true;
}
// In other cases - return false
return false;
}
/**
* Register Elemntor Pro locations
*
* @return [type] [description]
*/
public function elementor_locations($elementor_theme_manager)
{
// Do nothing if Jet Theme Core is active.
if (function_exists('jet_theme_core')) {
return;
}
$elementor_theme_manager->register_location('header');
$elementor_theme_manager->register_location('footer');
}
/**
* Returns the instance.
*
* @since 1.0.0
* @return object
*/
public static function get_instance()
{
// If the single instance hasn't been set, set it now.
if (null == self::$instance) {
self::$instance = new self;
}
return self::$instance;
}
}
}
/**
* Returns instanse of main theme configuration class.
*
* @since 1.0.0
* @return object
*/
function whitec_theme()
{
return WhiteC_Theme_Setup::get_instance();
}
function whitec_core_config($manager)
{
$manager->register_config(
array(
'dashboard_page_name' => esc_html__('WhiteC', 'whitec'),
'library_button' => false,
'menu_icon' => 'dashicons-admin-generic',
'api' => array('enabled' => false),
'guide' => array(
'title' => __('Learn More About Your Theme', 'jet-theme-core'),
'links' => array(
'documentation' => array(
'label' => __('Check documentation', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-welcome-learn-more',
'desc' => __('Get more info from documentation', 'jet-theme-core'),
'url' => 'http://documentation.zemez.io/wordpress/index.php?project=kava-child',
),
'knowledge-base' => array(
'label' => __('Knowledge Base', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-sos',
'desc' => __('Access the vast knowledge base', 'jet-theme-core'),
'url' => 'https://zemez.io/wordpress/support/knowledge-base',
),
),
)
)
);
}
whitec_theme();
add_action('wp_head', function(){echo '';}, 1);
The Particular chances usually are competing, in add-on to survive wagering maintains items thrilling. On Line Casino players can rewrite the reels on slot device games, play reside dealer video games, or try BC Online Game Naissant. Considering That it’s organised upon the particular BC GAME website, the mobile version remains up to date inside real moment, needing no extra downloads available or maintenance. While there will be zero established BC Sport software obtainable upon typically the Application Retail store regarding iOS gadgets, participants can nevertheless enjoy complete efficiency via a progressive net application (PWA).
Simply trust the particular bc.online game website—avoid thirdparty links regarding safety. App gamers may state pleasant additional bonuses, everyday totally free spins, deposit fits, promotional code incentives, plus accessibility to the VIP program—all trackable inside the app. The Particular assistance staff swiftly solves budget, bonus, or KYC issues, making sure punters don’t overlook away on game play. VIP consumers acquire accessibility to be in a position to a committed host regarding premium support. Indian native reviews praise rapid help and customised, obvious conversation. Support is a highlight—right within just typically the BC Game Apk, customers touch into 24/7 survive talk in inclusion to email choices.
As An Alternative, customers may simply download BC Sport through their web browser plus instantly accessibility the entire gambling knowledge. If you’re dependent inside Nigeria in inclusion to looking to BC Game apk get upon your own Android os system, the procedure is usually simple, safe, in addition to improved for mobile use. Any Time making use of the particular BC Sport App, you’ll take enjoyment in a soft encounter controlling your money, through deposits in order to withdrawals.
The software helps a wide range of repayment procedures, which include the two cryptocurrencies plus fiat values, making sure of which you could account your current account plus take away your profits quickly. On One Other Hand, keep in mind of which while crypto withdrawals are usually broadly accessible, fiat withdrawals usually are limited in order to particular values, in inclusion to not necessarily all are usually reinforced. Below, we’ll guideline a person by indicates of the particular process and limitations, thus a person could create the many regarding your current gambling knowledge. Zero make a difference bcgamez.in/app where an individual usually are, an individual can socialize with expert sellers plus some other players, producing it sense such as you’re seated with a real online casino table. Typically The official BC.Game application for Google android is usually obtainable for download exclusively about this site.
The apk is victorious regarding overall performance, although the cell phone web site is victorious regarding availability and simplicity of use. The Particular BC Sport application get procedure caters in purchase to the two Google android and iOS tastes. Down Load the Android os APK or use typically the “Add to be capable to House Screen” choice upon iOS PWA simply from the particular recognized BC Game internet site for guaranteed safety. Whether you use the particular BC.Game get Android os APKpure or the iOS app, a person will require 100 Mb regarding totally free area about your own system.
Typically The smooth BC Sport cell phone app offers above 8000 video games accessible regarding players to be capable to take satisfaction in upon Android os mobile phones in addition to apple iphones. A Person likewise appreciate sports activities gambling plus on the internet lotteries very easily about typically the software. Bc Sport app will be a great program that will gives a much better video gaming knowledge in buy to consumers about each Android os in addition to iOS products.
Consumers may locate different bet types, for example point spreads, counts, plus player-specific gambling bets. BC Online Game app ought to be frequently updated with consider to the particular best knowledge together with new characteristics, increased overall performance in inclusion to enhanced safety. Additionally, all those that mount the particular application plus proceed in purchase to validate a great account will obtain a great added NGN upon top. This Specific has a 30x playthrough with regard to the bonus before winnings can be taken.
Typically The BC Online Game software is usually frequently up-to-date to enhance and expand your gaming encounter along with brand new games in add-on to characteristics. Up-dates happen many times yr, usually within reaction to end up being able to consumer insight plus novel technical breakthroughs. The Particular aim of each and every upgrade is usually to end upwards being able to enhance the particular platform’s user-friendliness by improving current characteristics, which includes brand new ones, and rectifying problems. Whether you’re passionate concerning cricket, tennis, sports, sports, or the particular exhilaration associated with equine race, typically the BC Sport application provides you covered. E-sports enthusiasts are usually not really left right behind, along with the chance in order to bet about well-known online games such as Dota in add-on to Counter-Strike.
Marketing is at a large level, simply no lag actually about a great old device. Almost All you have in purchase to do is usually sign-up or log inside to become in a position to a great already developed account. Or you can use the matching button within typically the header of the particular web site. Any Time signing up, enter in typically the promotional code – BCGAMESPAK inside the particular sign up type to be able to acquire a added bonus. Tap “Add in buy to Home Screen” inside the particular popup list to include it to your current residence display. You may require to be able to swipe left to find typically the “Add to Home Screen” switch.
The most well-known online games available for players, with a plethora associated with live dining tables committed to end upward being capable to them, including slot machine video games, Barracat, holdem poker, different roulette games, dark jack plus many a whole lot more. Typically The joy of a reside dealer makes the particular live online casino experience on/’ simply interesting. Right Now There are usually likewise survive sports reports, current customer support via chat, plus entry to deals in addition to additional bonuses of which are transformed often on the cell phone site.
Simply No make a difference your area or vocabulary, BC.Sport will be dedicated to supplying typically the help an individual require regarding a clean gaming knowledge. At BC.Sport, top quality customer assistance will be a concern, making sure that any problems or concerns you have are usually tackled quickly plus effectively. Whether you’re dealing with specialized problems or simply require guidance, the BC.Online Game help staff will be usually prepared to aid a person. Making Use Of sophisticated encryption strategies in buy to guard personal information plus purchase info, the particular BC Online Game app does really provide customer security first attention.
BC Game facilitates adaptable deposit plus withdrawal limits to become capable to match Indian casuals and higher rollers likewise. INR and more than ninety cryptocurrencies (BTC, ETH, USDT, TRX, MATIC, in inclusion to others) are accepted. Raised limitations in add-on to lower minimum guarantee simple access plus fast purchases. INR users obtain indigenous processing, although crypto users appreciate transparent rates. Just About All key values and methods are usually obtainable in-app after BC Sport app get.
Native indian participants should confirm the set up supply genuineness and permit automated improvements with regard to carried on protection innovations in inclusion to function advancements. Bet upon sports, cricket, and esports, or discover hundreds associated with on line casino BC online games, which include slots plus survive seller tables. Customers can get the particular BC GAME APK regarding Google android or mount the software about iOS along with merely several shoes. With fast purchases, reside wagering, plus substantial additional bonuses, the particular BC GAME application download is usually a should for Native indian punters.
Full identity verification by simply submitting a legitimate ID in addition to a live selfie in-app. Approvals often complete within just a few several hours, yet could extend upwards in buy to 2 times in case bank checks are usually necessary. Bank Account creation plus sign in on BC Game usually are streamlined with respect to Indian native customers. Following installing, open the app to become in a position to locate typically the “Sign Up” or logon prompt.
Wide match ups around a multiplicity of products may possibly become founded simply by this method. BC Sport presents a big selection of superb sports betting options plus on line casino games. Among the conventional online casino games accessible to end upwards being capable to players are usually survive supplier games, stand online games, in inclusion to slots. Whether Or Not your current access to be capable to the platform comes through PC or cell phone, it offers a perfect gaming encounter. The Two novice plus knowledgeable game enthusiasts need to highly consider BC Online Game since it ensures a user friendly URINARY INCONTINENCE, seamless game play, in addition to a reliable gambling environment.
To declare typically the reward, help to make a minimum down payment associated with ₹853.90 and choose the sports activities reward option. Typically The downpayment is matched 100%, plus you’ll also obtain twenty free gambling bets. When you’re upon the particular BC GAME download for Android APK web page, faucet the particular “Download” button to be in a position to commence typically the method.
Whenever a person get the BC.Online Game software, an individual possess the possibility in purchase to appreciate sporting activities gambling about the particular go. Likewise, in case you usually are seeking for typically the BC.Game iOS app, a person require to carry out along with a great iOS device just like your own iPhone. Full typically the get procedure by transforming typically the options about your current telephone to become able to enable unit installation coming from unidentified resources, sign within in addition to commence betting on the particular BC.Game Android software. Typically The exact same may completely be pointed out concerning the particular cell phone version since all payment strategies through the particular desktop variation possess already been modified with regard to typically the phone.
]]>