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);
Users may entry a full collection regarding online casino games, sports gambling options, survive occasions, in inclusion to special offers. Typically The cell phone platform helps survive streaming regarding selected sporting activities events, supplying real-time updates plus in-play wagering options. Secure transaction methods, which includes credit/debit credit cards, e-wallets, in inclusion to cryptocurrencies, are usually obtainable for deposits and withdrawals. Furthermore, customers may accessibility customer support via reside chat, email, and cell phone immediately from their particular mobile devices. The 1win app allows users to end upwards being able to location sports activities wagers plus enjoy online casino video games immediately coming from their particular cell phone products. Fresh participants could benefit through a 500% pleasant bonus up to become capable to 7,one hundred or so fifty regarding their first 4 debris, along with stimulate a unique provide regarding setting up the particular mobile software.
Typically The cellular version associated with the 1Win website functions a great user-friendly user interface improved for smaller screens. It ensures relieve of routing along with obviously designated tabs and a receptive design that gets used to to numerous cell phone gadgets. Vital capabilities such as accounts supervision, lodging, wagering, and being capable to access game your local library usually are seamlessly incorporated. The Particular cellular interface keeps the primary efficiency regarding the pc variation, ensuring a steady user experience throughout systems. The Particular cellular variation regarding the 1Win web site in add-on to the 1Win application offer strong platforms for on-the-go gambling. Both offer a extensive range of features, guaranteeing users could enjoy a soft betting knowledge across products.
Whilst typically the 1win cell phone website provides convenience through a responsive design, the 1Win application improves the particular encounter with optimized performance plus extra functionalities. Knowing the particular differences in addition to characteristics regarding each system allows customers choose typically the most ideal choice regarding their particular wagering requirements. Typically The 1win application gives users along with the ability to bet on sports plus appreciate online casino games about each Android in addition to iOS products. Typically The 1Win software offers a devoted platform with regard to mobile gambling, supplying a good enhanced user experience tailored to mobile gadgets.
Typically The cellular application offers the entire range regarding features obtainable upon typically the website, without any restrictions. An Individual could constantly down load the particular most recent edition regarding the particular 1win application coming from typically the official web site, plus Android os consumers may arranged upwards automatic up-dates. Fresh customers that register through the app could declare a 500% welcome bonus up to be able to Several,a hundred or so and fifty on their particular first several debris. Additionally, an individual can get a added bonus for downloading the particular software, which often will end upwards being automatically acknowledged to end upwards being in a position to your current account on login.
![]()
Whilst the particular cellular web site gives convenience through a reactive design and style, the 1Win application boosts the knowledge along with enhanced performance in inclusion to added uses. Knowing the differences and functions regarding each platform assists consumers pick the particular most appropriate choice for their particular wagering requirements. The Particular 1win app offers consumers along with typically the ability to bet on sporting activities plus appreciate casino games about the two Android plus iOS products. The 1Win software offers a devoted platform with respect to mobile wagering, supplying a good enhanced user knowledge tailored to mobile devices.
Typically The cell phone variation of typically the 1Win website functions a great intuitive user interface optimized for smaller sized monitors. It assures ease associated with navigation with plainly designated tabs and a receptive style that will gets used to to become able to numerous mobile products. Vital functions for example accounts supervision, depositing, betting, plus accessing sport your local library are usually effortlessly built-in. The cellular software retains typically the key features of the particular desktop computer edition, guaranteeing a consistent consumer experience around systems. Typically The cell phone variation regarding the 1Win site and the particular 1Win program offer robust platforms for on-the-go wagering. Each offer a comprehensive selection of features, guaranteeing customers could take satisfaction in a soft betting knowledge throughout devices.
The Particular cell phone application gives the full variety of functions obtainable about typically the website, without having any constraints. You can usually down load the particular latest version associated with the particular 1win app coming from the particular recognized site, plus Android customers could set upwards automatic up-dates. Fresh users that sign up by means of the particular application can claim a 500% pleasant added bonus up in purchase to Seven,one hundred or so fifty about their particular very first 4 debris. In Addition, a person can get a bonus with regard to downloading the software, which often will be automatically acknowledged to end upwards being capable to your current accounts on login.
Users can entry a full collection associated with casino games, sports gambling choices, live activities, in addition to marketing promotions. The Particular mobile platform facilitates live streaming of chosen sports activities activities, providing current up-dates in addition to in-play wagering options. Protected repayment strategies, which includes credit/debit playing cards, e-wallets, in add-on to cryptocurrencies, are usually available with respect to debris and withdrawals. Additionally, consumers may entry customer assistance through live conversation, e mail, and phone straight from their own cell phone devices. The Particular 1win application allows consumers to location sports bets and perform online casino video games straight through their particular cellular products. New gamers can profit through a 500% welcome reward upward to become capable to 7,one hundred fifty with consider to their particular 1st 4 build up 1win login, along with stimulate a special provide regarding installing the particular cellular software.

The platform’s visibility in operations, paired together with a solid determination in purchase to dependable gambling, underscores the legitimacy. 1Win offers clear terms plus conditions, privacy policies, in inclusion to has a devoted client support team available 24/7 to aid consumers with virtually any questions or concerns. Together With a increasing community associated with happy gamers globally, 1Win holds being a reliable and trustworthy program regarding on the internet gambling fanatics. An Individual could employ your current reward money regarding each sports gambling in inclusion to online casino games, giving you even more techniques to be in a position to appreciate your bonus across various locations regarding typically the platform. The Particular sign up procedure is streamlined to be in a position to make sure simplicity associated with entry, although robust protection measures safeguard your own private details.
Handling your own cash on 1Win will be designed to end upward being user friendly, allowing you to be capable to concentrate on enjoying your gambling knowledge. 1Win is fully commited in purchase to providing excellent customer service in order to guarantee a clean and pleasant encounter for all participants. The Particular 1Win official site is usually developed with the particular participant inside thoughts, featuring a contemporary plus user-friendly user interface that tends to make routing smooth. Accessible in several languages, which includes The english language, Hindi, European, plus Shine, the system caters to be capable to a international viewers.
Regardless Of Whether you’re fascinated in the thrill regarding on range casino games, the particular exhilaration associated with reside sporting activities gambling, or typically the proper perform regarding holdem poker, 1Win provides everything below a single roof. Inside synopsis, 1Win is a great program for any person inside the particular US ALL searching for a varied in addition to safe on-line wagering experience. With its wide variety associated with betting alternatives, superior quality online games, secure repayments, in inclusion to superb consumer help, 1Win offers a high quality video gaming experience. Fresh customers in typically the UNITED STATES could take enjoyment in a great appealing pleasant added bonus, which often may go upward to 500% associated with their first downpayment. For instance, when you deposit $100, a person could receive upward to $500 within added bonus funds, which often could become used with regard to both sporting activities wagering and casino online games.
Indeed, you can withdraw reward cash following meeting the particular wagering requirements specified inside the bonus phrases plus circumstances. End Upwards Being sure to go through these specifications cautiously to be capable to understand just how very much an individual require to bet prior to withdrawing. On-line wagering regulations fluctuate simply by nation, thus it’s essential to become able to verify your own local regulations in buy to make sure that on the internet gambling is authorized within your own legislation. Regarding an authentic on range casino encounter, 1Win gives a comprehensive reside dealer segment. The 1Win iOS app gives the complete range associated with gaming in inclusion to gambling alternatives to your i phone or iPad, together with a design and style optimized with regard to iOS gadgets. 1Win is managed by MFI Opportunities Limited, a business signed up and accredited in Curacao.
The Particular organization is committed to offering a secure in addition to reasonable gambling surroundings with regard to all consumers. With Consider To all those who else enjoy typically the method in addition to ability involved inside poker, 1Win offers a dedicated holdem poker program. 1Win functions an extensive collection associated with slot machine online games, providing to various styles, models, plus game play technicians. By Simply doing these varieties of methods, you’ll possess efficiently created your current 1Win account in inclusion to may commence exploring typically the platform’s products.
To supply gamers along with the particular ease associated with gaming upon the particular go, 1Win gives a devoted mobile program compatible along with each Android in inclusion to iOS devices. Typically The application recreates all typically the characteristics of the particular pc site, enhanced with regard to cellular use. 1Win offers a selection associated with protected in addition to easy payment options in purchase to accommodate to players from diverse regions. Whether a person prefer conventional banking strategies or modern e-wallets and cryptocurrencies, 1Win offers an individual included. Accounts verification is usually a essential step that improves security and guarantees compliance along with worldwide gambling restrictions.
Confirming your current account enables a person in order to pull away winnings and accessibility all features with out limitations. Yes, 1Win supports responsible betting plus allows an individual in purchase to set down payment limits, gambling limits, or self-exclude through typically the platform. You could adjust these options inside your current account profile or by calling customer install 1win assistance. In Buy To claim your current 1Win bonus, simply produce a great accounts, help to make your very first down payment, plus the bonus will be awarded to your account automatically. After of which, an individual may commence using your own reward with regard to wagering or casino play right away.
Typically The system will be recognized for the user friendly user interface, nice bonus deals, in add-on to secure repayment methods. 1Win is a premier on-line sportsbook in add-on to on collection casino platform wedding caterers in buy to players inside the particular USA. Known with regard to their wide selection associated with sports activities gambling choices, which includes football, basketball, and tennis, 1Win gives an thrilling plus dynamic experience regarding all sorts of bettors. The platform likewise functions a robust on-line casino along with a selection associated with online games just like slot machines, table online games, in addition to reside on range casino alternatives. With useful routing, protected transaction methods, in addition to competing odds, 1Win assures a seamless betting knowledge regarding USA players. Whether you’re a sports activities lover or maybe a on collection casino enthusiast, 1Win is your own first selection with regard to on the internet video gaming inside the USA.
Given That rebranding through FirstBet in 2018, 1Win provides continually enhanced its providers, policies, in add-on to customer software in purchase to fulfill the changing requirements of its customers. Working under a appropriate Curacao eGaming license, 1Win is dedicated to become in a position to offering a protected plus reasonable video gaming surroundings. Indeed, 1Win functions lawfully in specific declares within typically the USA, nevertheless its availability will depend on nearby regulations. Each state inside the ALL OF US has the own guidelines regarding online gambling, so users should check whether typically the platform is obtainable inside their own state just before putting your signature bank on up.
]]>