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 cellular variation regarding the 1Win web site and the 1Win software provide powerful platforms with regard to on-the-go gambling. The Two provide a extensive range regarding features, making sure users can appreciate a soft gambling encounter around gadgets. Understanding typically the distinctions in inclusion to features of each and every system assists customers select typically the many ideal alternative regarding their wagering requires.
Typically The 1Win application provides a committed program with consider to mobile wagering, offering a good enhanced customer knowledge focused on cellular gadgets.
Customers may accessibility a complete collection associated with online casino video games, sports gambling choices, live occasions, plus promotions. Typically The cell phone https://www.1win-casino-sn.com system supports live streaming associated with selected sports events, offering current up-dates and in-play betting alternatives. Protected transaction methods, which includes credit/debit cards, e-wallets, in add-on to cryptocurrencies, are usually accessible for debris and withdrawals. In Addition, users can entry client help by indicates of reside chat, e-mail, and cell phone immediately from their cell phone products.
Typically The cellular variation regarding the 1Win site functions an user-friendly interface enhanced regarding smaller screens. It guarantees simplicity regarding routing together with obviously designated dividers and a receptive style of which adapts to various cell phone gadgets. Important functions like account management, lodging, betting, plus accessing sport libraries are usually easily integrated. The Particular cellular software retains the particular primary features associated with the particular pc edition, making sure a consistent user encounter around systems.

It will be located at the leading regarding the particular primary page of typically the application. You Should take note of which each and every reward provides certain problems that want to end up being cautiously studied. This will assist you get benefit regarding typically the company’s offers in addition to acquire typically the many out there of your current site. Also retain a good eye upon updates and fresh special offers in buy to create positive you don’t skip away about typically the opportunity in order to obtain a great deal regarding bonuses in addition to gifts coming from 1win. JetX functions the particular programmed play option in add-on to offers complete statistics that you could accessibility to be able to place with each other a reliable strategy.
As soon as you open up typically the 1win sports activities area, a person will look for a assortment regarding the particular major highlights associated with reside fits divided by simply activity. Inside certain events, presently there is a great information icon wherever an individual may get information regarding wherever the match up is at the particular instant. 1Win Gambling Bets includes a sports activities list of even more compared to thirty five strategies that will move significantly over and above the particular most well-liked sports activities, like sports and hockey. In each associated with typically the sports about typically the platform there will be a great range associated with marketplaces in add-on to typically the chances are nearly usually within or over typically the market regular. Together With 1WSDECOM promotional code, a person have access to end upward being in a position to all 1win offers in inclusion to may likewise get special problems.
In 1Win Online Game platform typically the centre regarding entertainment is usually their Online Casino. It will be considered the centre of amusement in add-on to enjoyment along with complete of excitement. In this particular function players could enjoy and earning at typically the exact same period. Due to become in a position to the uniqueness it come to be the the better part of well-known feature associated with 1Win. It offer different video games for example Desk video games, reside supplier online games, Sport Displays, Slot Machines, Online Poker, Baccarat, blackjack different roulette games in add-on to several even more online games. The Particular slot video games are usually enjoyable, and typically the survive on line casino experience feels real.
Move in order to the ‘Special Offers in add-on to Additional Bonuses’ segment plus a person’ll always be conscious of brand new offers. This Particular offers guests typically the chance in buy to choose the the vast majority of hassle-free way in order to make dealings. Margin inside pre-match will be even more than 5%, and within survive and thus upon is usually lower. Confirm that will you possess studied typically the rules plus concur with these people.
The 1Win iOS application provides the complete range associated with video gaming plus wagering options in order to your current iPhone or apple ipad, together with a design and style enhanced for iOS devices. Bank Account confirmation is a essential stage of which boosts safety and guarantees complying along with worldwide wagering regulations. Verifying your own account allows an individual in order to take away earnings plus accessibility all functions without having limitations. JetX provides a futuristic Money or Collision experience wherever players bet about a spaceship’s trip. These Varieties Of games are characterized simply by their particular simpleness and typically the adrenaline rush these people offer, producing these people highly well-known between online on collection casino fanatics.
The Particular iOS software is usually suitable with apple iphone some plus newer designs in add-on to needs about 2 hundred MEGABYTES of free space. Each apps offer total entry in buy to sporting activities gambling, on collection casino video games, obligations, in add-on to client support functions. The 1win wagering user interface www.1win-casino-sn.com categorizes user knowledge along with an user-friendly layout that will allows for easy course-plotting in between sporting activities wagering, casino areas, in addition to specialty video games.
Players could accessibility the particular recognized 1win website free associated with charge, together with zero hidden charges for bank account development or maintenance. Typically The platform’s transparency within functions, combined together with a solid determination to accountable betting, underscores its legitimacy. 1Win gives very clear terms plus problems, privacy guidelines, in inclusion to has a committed client help team obtainable 24/7 in buy to help consumers together with any concerns or issues.
You can likewise play classic casino video games such as blackjack plus roulette, or try out your own luck together with live supplier encounters. 1Win offers safe repayment procedures for clean purchases in add-on to gives 24/7 customer assistance. As well as, participants could consider edge associated with good bonus deals in add-on to promotions to end up being able to boost their encounter. 1Win will be an on the internet betting program that provides a broad variety associated with services which include sports wagering, live wagering, plus on-line casino video games. Popular inside typically the UNITED STATES OF AMERICA, 1Win permits gamers to gamble on significant sports activities just like football, golf ball, hockey, and also specialized niche sports. It furthermore gives a rich selection associated with casino online games like slot machines, desk games, plus reside seller alternatives.
For customers who favor not in order to get a great software, the particular mobile version of 1win will be a fantastic option. It works on any web browser plus will be suitable along with each iOS and Android os gadgets. It needs simply no storage space area upon your current gadget since it operates directly via a net web browser. Nevertheless, performance may possibly fluctuate based upon your telephone in inclusion to World Wide Web rate. In addition to these main events, 1win also addresses lower-tier crews and regional tournaments. Regarding example, the particular terme conseillé includes all tournaments within England, including typically the Tournament, Little league A Single, League 2, plus also regional tournaments.
It is usually essential to become capable to meet specific specifications in addition to conditions specific upon typically the established 1win casino site. A Few bonuses may possibly need a advertising code that will could become attained through typically the website or companion internet sites. Find all typically the information you require on 1Win and don’t miss out upon their amazing additional bonuses in add-on to marketing promotions. 1Win offers much-desired bonus deals plus on-line promotions that will stand away for their selection in add-on to exclusivity. This Specific on range casino will be constantly innovating with the goal regarding giving appealing proposals in purchase to their devoted users and appealing to individuals who wish to end upward being able to sign-up. To End Upward Being Capable To enjoy 1Win on the internet on range casino, the 1st point you ought to do is sign-up on their particular platform.
For withdrawals, minimum plus maximum limitations utilize based on the picked method. Visa for australia withdrawals begin at $30 along with a maximum regarding $450, while cryptocurrency withdrawals begin at $ (depending about the currency) along with larger maximum restrictions regarding upward in buy to $10,1000. Drawback running periods variety from 1-3 several hours regarding cryptocurrencies in buy to 1-3 days with regard to lender credit cards. For pc consumers, a Windows software will be furthermore accessible, offering improved efficiency in comparison to browser-based enjoy. This COMPUTER client demands roughly twenty-five MEGABYTES associated with storage in inclusion to helps several languages.
This Specific is diverse coming from live betting, where an individual spot wagers although typically the game is usually within progress. Therefore, you have sufficient time in buy to analyze groups, players, in add-on to previous overall performance. 1Win transaction methods offer you security plus ease in your own money purchases.
Typically The live talk function provides current support regarding immediate queries, whilst e-mail assistance grips in depth queries that will need additional analysis. Phone support will be available within select areas with respect to direct connection along with support associates. Consumers can finance their own accounts via numerous transaction methods, including bank playing cards, e-wallets, and cryptocurrency dealings. Supported options differ simply by region, enabling participants to choose local banking remedies any time obtainable. The net version consists of a organised design with classified sections with consider to simple routing.
]]>
The cellular variation regarding the 1Win web site and the 1Win software provide powerful platforms with regard to on-the-go gambling. The Two provide a extensive range regarding features, making sure users can appreciate a soft gambling encounter around gadgets. Understanding typically the distinctions in inclusion to features of each and every system assists customers select typically the many ideal alternative regarding their wagering requires.
Typically The 1Win application provides a committed program with consider to mobile wagering, offering a good enhanced customer knowledge focused on cellular gadgets.
Customers may accessibility a complete collection associated with online casino video games, sports gambling choices, live occasions, plus promotions. Typically The cell phone https://www.1win-casino-sn.com system supports live streaming associated with selected sports events, offering current up-dates and in-play betting alternatives. Protected transaction methods, which includes credit/debit cards, e-wallets, in add-on to cryptocurrencies, are usually accessible for debris and withdrawals. In Addition, users can entry client help by indicates of reside chat, e-mail, and cell phone immediately from their cell phone products.
Typically The cellular variation regarding the 1Win site functions an user-friendly interface enhanced regarding smaller screens. It guarantees simplicity regarding routing together with obviously designated dividers and a receptive style of which adapts to various cell phone gadgets. Important functions like account management, lodging, betting, plus accessing sport libraries are usually easily integrated. The Particular cellular software retains the particular primary features associated with the particular pc edition, making sure a consistent user encounter around systems.
