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);
Participants have the particular alternative in purchase to funds out there their winnings at virtually any period in the course of the trip or keep on to end upward being able to ride typically the ascending graph to be able to potentially generate increased benefits. Typically The Aviator game about Mostbet 27 is a great participating in add-on to thrilling on the internet sport that combines elements associated with fortune in add-on to method. It is usually a special sport that permits participants to bet about the particular outcome regarding a virtual airplane’s airline flight. It’s important to be able to take note that will typically the odds structure provided simply by typically the bookmaker may possibly vary dependent about the particular region or region.
We recommend making use of typically the mobile version upon mobile phones and pills regarding the particular finest experience. Users could spot gambling bets and play online games on the proceed, without having to access the web site by indicates of a internet internet browser. Typically The on the internet online casino gives a user friendly system in inclusion to fast and secure payment procedures, generating it easy for users in order to accessibility in addition to play their own preferred casino online games.
With Respect To each table along with current outcomes, presently there will be a bookmaker’s staff that is responsible for correcting the particular ideals within real moment. This approach an individual may behave swiftly to virtually any modify inside the particular statistics by placing fresh wagers or adding choices. All slot equipment in the online casino have a qualified randomly quantity power generator (RNG) algorithm. They Will operate purely according to typically the particular characteristics in addition to have a fixed degree of return regarding money in inclusion to danger. Playing the particular on the internet plus survive online casino performs with typically the expense associated with money from the particular normal cash balance or added bonus money. Any winnings or loss impact your own bank account equilibrium with respect to both the particular sportsbook in addition to typically the on line casino.
These Sorts Of Mostbet promo codes are created to provide flexibility and worth, ensuring that will every bettor can look for a ideal added bonus to become in a position to enhance their own Mostbet experience. Typically The cell phone application not just provides convenience but likewise assures you never ever skip out there about advertising offers. Together With the particular proper promotional code, your mobile phone can come to be a powerful tool for making the most of your current wagering prospective. 1st, down load the Mostbet software from the particular official site or your own software store. Mind to end upward being in a position to typically the marketing promotions area plus get into your Mostbet on collection casino promo code or virtually any other related promocode. At Casino MostBet, a person will locate online games through Evolution Video Gaming, Ezugi, TVBet, in addition to Betgames.tv.
Currently 71% regarding membership consumers have got downloaded the application, and an individual will sign up for these people. There are usually several distinctions inside typically the get dependent upon your own functioning program. Mostbet twenty-seven provides a variety associated with sports wagering choices, which includes standard sports activities and esports. Virtually Any betting provides been prohibited about the territory associated with Bangladesh by simply nationwide laws since 1867, along with the only exemption of betting on horseracing racing in inclusion to lotteries. Our Own group regarding experts at JohnnyBet have chosen their picks regarding the particular greatest promotional codes for sporting activities in inclusion to on range casino in Of india for 2025. Consequently, in case MostBet is usually not necessarily correct for a person and then all of us recommend reading the particular article to uncover the greatest offer regarding your own requirements.
A Few regarding the continuous events from popular tournaments of which MostBet Includes include Typically The Association associated with Golf Experts (ATP) Trip, Davis Glass, and Women’s Rugby Relationship (WTA). The The Greater Part Of associated with the particular chances are developed according to the ultimate result of this specific online game. Thus, contemplating the recognition and demand with respect to sports activities, Mostbet recommends an individual bet upon this particular bet. For wagering upon soccer events, merely adhere to a few simple methods about the website or application and decide on one from typically the checklist regarding fits.
Employ a Mostbet on line casino mostbet promotional code to snag amazing bonus deals just like down payment complements in add-on to free of charge spins. Maintain a great vision on typically the Mostbet promo code these days to guarantee you’re having the leading provides plus making the most of your current profits. Whenever you accessibility MostBet Casino, an individual will look for a lengthy checklist associated with trustworthy application developers providing a great amazing selection regarding video games. Our Own review viewers will discover a great deal more than just one,1000 online games from providers like Playtech, NetEnt, Quickspin, in inclusion to numerous more at MostBet Casino.
Typically The FREQUENTLY ASKED QUESTIONS portion will be exhaustive, dealing with the particular the better part associated with typical concerns and concerns, thus augmenting consumer contentment through quick solutions. Typically The Mostbet software offers a thorough wagering knowledge, integrating components like in-play betting, cashing out, plus a customized dash. Tailored to become in a position to deliver peak efficiency around Android os and iOS platforms, it adeptly caters in purchase to the preferences of its local customer bottom. In Spite Of the thorough dialogue about this specific web page, presently there might nevertheless be a few misconceptions regarding downpayment choices at the sports activities gambling plus casino platform MostBet. When thus, have got a appear at the listing associated with regularly requested concerns that employs. In Case an individual are usually encountering difficulties solving your own deposit issue, obtain in touch together with MostBet’s customer treatment.
It features an imaginative rewrite upon standard betting, featuring myriad contests and nice reward funds, drawing in a broad range associated with sporting activities enthusiasts in inclusion to tactical heads. Mostbet offers a extensive sports gambling system designed regarding lovers throughout numerous sports activities disciplines. Regardless Of Whether it’s soccer, cricket, tennis, or e-sports, Mostbet guarantees a varied range associated with betting possibilities consolidated within a single platform. Indeed, Mostbet offers a VERY IMPORTANT PERSONEL plan of which rewards loyal players together with unique bonuses in addition to benefits. Regarding current participants at Mostbet, birthdays are usually a unique moment associated with year plus a single of which ought to be celebrated.
We notice that will an individual possess unfavorable emotions from applying the particular services. We are incredibly disappointed about this specific in inclusion to it is usually important for us in buy to resolve the problem. You Should tell us within details exactly what took place in inclusion to make sure you specify the ID associated with the online game accounts.We All will certainly verify almost everything in inclusion to assist in buy to kind it out. An Individual cannot modify the currency a person select all through the enrollment process, so become positive to be able to pick the correct 1. Nevertheless if these people don’t do this, the client would certainly lose cash since associated with the foreign currency conversion rate. MostBet is usually international and is usually accessible in plenty regarding nations all over typically the globe.
It will be really worth observing that these varieties of tools usually are available to every consumer totally totally free regarding charge. Mostbet will be one regarding typically the greatest programs for Native indian participants who really like sports betting in inclusion to on the internet casino games. Together With an range of regional payment procedures, a user-friendly interface, plus interesting bonus deals, it stands apart being a best option inside India’s competitive wagering market. Mostbet is a major global betting platform of which offers Indian native players together with accessibility to end up being able to the two sports betting and on-line casino video games.
]]>Registrací automaticky získáte freespiny bez vkladu carry out Mostbet on-line hry. Copyright https://mostbet-welcome.cz © 2025 mostbet-mirror.cz/.
The articles regarding this specific site is usually developed for individuals old 18 plus above. All Of Us highlight the value of participating inside dependable play plus adhering to individual limitations. All Of Us highly recommend all consumers to make sure they meet the particular legal betting era in their own jurisdiction in addition to to become able to get familiar by themselves with nearby regulations in add-on to restrictions relevant to on-line betting. Provided typically the habit forming characteristics regarding betting, in case a person or a person you know is usually grappling with a gambling dependency, it is recommended in purchase to seek out assistance through a professional organization. Your Current make use of of our own internet site indicates your current acceptance regarding the terms in add-on to circumstances.

MostBet.apresentando is certified in Curacao plus gives sports wagering, casino games plus survive streaming to participants inside close to 100 various countries. A Person can entry MostBet sign in simply by making use of the particular links https://mostbet-welcome.cz upon this particular page. Employ these types of validated hyperlinks to end up being able to log inside to your own MostBet accounts. On The Other Hand, an individual can employ the particular exact same hyperlinks to register a brand new account and then entry typically the sportsbook in add-on to on range casino.
When you’re dealing with prolonged logon issues, help to make sure to reach away in purchase to Mostbet customer support for individualized assistance. A Person can furthermore employ the particular online conversation characteristic for speedy help, exactly where typically the staff is all set to aid solve any login problems you may encounter. Registrací automaticky získáte freespiny bez vkladu perform Mostbet on the internet hry. Copyright © 2025 mostbet-mirror.cz/. Typically The MostBet promo code will be HUGE. Use the code whenever registering to end up being capable to obtain the greatest accessible delightful reward in purchase to make use of at the particular on collection casino or sportsbook.