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);
I preserved typically the totally free spins on wolfs gold any time I turned on the welcome added bonus. It took a whilst yet I handled to wager my reward sum and have got 3 hundred euros compensated away, but within buy to end up being capable to create the particular payout I got in buy to cancel the 200 spins regarding wolf gold, which usually I did by mistake. The assistance stated these people can’t restore typically the totally free spins since I manufactured a withdrawal that wasn’t won coming from free spins, mind you. I didn’t think it has been therefore great everywhere else an individual would possess just awarded the particular free spins.
As will be typically the case along with all on-line internet casinos, typically the betting limitations will vary, based on typically the slot you pick. It’s easy in order to customise your current stake in buy to fit a person though, therefore a person never ever have to become capable to devote a great deal more than you’d like about a spin. Several online games have a comparatively lower highest share, at €10, nevertheless other people can go up as higher as €100. Subsequently, in case an individual perform need a separate application for casino video gaming on the particular go, a person may download the particular internet site’s cellular application. You may not really become capable to entry all of typically the site’s video games through this specific small part of software program, nevertheless several associated with the particular many well-liked game titles will be available.
Presently There is as a result simply no constraint as to whenever you can look for aid plus support. There are usually many techniques to become able to get helped at exactly the same time, nevertheless just before of which, right today there is the FREQUENTLY ASKED QUESTIONS area, coming from wherever a person can learn thus much regarding typically the online casino and also solution several of typically the concerns you got. Right Now There are industry leaders inside this specific list as well, for occasion, Online Games Global, Netent, Perform N Proceed and Yggdrasil. Video Games International will be a well-liked software program organization, loved with respect to the quality video games and gambling software.
An Individual could place a maximum bet associated with $7.five when applying typically the ZetCasino bonus funds, which usually you’ll have to do within ten times following declaring the particular advertising. As together with most other on-line internet casinos, a person can’t enjoy regarding real right up until a person in fact register for an account. When that’s done, ZetCasino will send an individual a verification email, in addition to as soon as you’re validated, you’re great to become capable to play at ZetCasino. Considering That the launch, ZetCasino has taken treatment of a growing reputation among gamers plus a clear trail report, having never endured a infringement.
Exactly What we possess in order to talk about is usually that will typically the program provides custom design and style, plus this particular style occasionally interfere with typically the cell phone knowledge a bit. Regular Refill is usually presented as 55 Free Of Charge Moves, plus may end up being given through Reside Chat right after lowest downpayment regarding something such as 20 EUR. If an individual look at benefits plus cons, certainly the particular equilibrium is usually optimistic, plus all of us have not discovered any kind of large sins that will would certainly shutter your customer encounter instantly. Nevertheless, typically the web site will be continue to comparatively new, and provides but to end up being able to pass the particular analyze regarding moment, so it is usually upward to be able to every single gambler to end upwards being able to determine. To End Upward Being In A Position To help a person help to make a great informed plus grounded selection, all of us offer you reveal plus informative ZetCasino overview. “Takes permanently to take away the particular cash. Web Site is usually not necessarily typically the finest to enjoy about cellular devices. Help is average.”
Zet Casino does an excellent work regarding offering a thrilling video gaming platform. The Particular smooth dark plus yellow-colored generate an enjoyable atmosphere in purchase to completely immerse you directly into a great enchanting world regarding on collection casino content. The Particular site is usually jam-packed with games coming from typically the very finest gambling providers, thus there’s anything for every person. When you’d such as in buy to enhance your current bank roll from your very first deposit, and then a person can claim a 100% match added bonus of up to become capable to 500 euros plus a batch regarding 200 spins. Typically The spins usually are split over 12 times along with twenty spins dispersed each and every day time.
The Particular occurrence associated with secure transaction options of which guarantee swift banking makes this specific feasible. Hence, an individual hazard może enjoy peacefully since a person are never ever distracted simply by ideas of your current safety. Next, when typically the offer demands a person in buy to deposit, fund your own accounts to permit the particular casino understand you need the bonus. Likewise, a person may contact the online casino when an individual knowledge difficulties proclaiming a bonus.
Mobile-first gamblers need not really end up being place away by the particular shortage of a devoted mobile casino app, because these people can visit the particular mobile-optimised site easily upon their particular internet browser coming from all iOS or Google android phones. It’s fast to be in a position to fill plus performs well, very easily keeping their personal against virtually any dedicated on range casino programs that will pay real funds. With practically a couple of,000 slot device game game titles obtainable it may be hard to know wherever in buy to commence, but sleep assured, the best quality developers like Quickspin, Yggdrasil Video Gaming plus NetEnt are included. Your safety is usually a best priority at Zet Online Casino, evident in their utilization of SSL security certified by COMODO. This Particular means of which all your own private details is protected, instilling assurance in the particular honesty regarding typically the program. Sleep certain that your sensitive info remains to be secret plus safeguarded all through your own gaming trip.
Examining the particular reward conditions just before seeking a withdrawal may help prevent problems. This casino will be certified plus regulated simply by the federal government associated with Curacao, wherever it operates. The Particular site utilizes SSL security technology, which usually ensures the particular security regarding delicate individual information. Typically The on line casino provides their customers a great chance in order to enjoy online games without having getting in purchase to be concerned concerning fraudsters or cyber criminals trying to steal money. Just About All brand new gamers from India are eligible to be in a position to obtain a 100% match up reward really worth upwards in buy to Rs thirty,1000 along together with two hundred totally free spins. In Buy To qualify with regard to the particular bonus, just help to make a down payment regarding at the very least INR ten in to your Zet Casino accounts.
Zet Casino is usually a enjoyable video gaming web site that provides much to offer to all varieties of bettors. Typically The Casino’s website will be pretty straightforward and user friendly, plus its layout makes getting at your current favorite games or some other details super simple. Typically The added bonus in add-on to being qualified down payment should become folded over either five (5x) or six (6x), based on your area, about eligible wagers within 35 days. Solitary gambling bets need to possess probabilities regarding at the extremely least a pair of.zero, plus multi-bets must have probabilities of one.5 each assortment. Zet Casino offers the Sunday Spins campaign, offering upwards in order to 100 Totally Free Spins on typically the slot sport Detective Bundle Of Money.
While we all usually are subsidized by our lovers, our own determination to impartial testimonials remains to be unwavering. You Should notice that will owner information and sport particulars are updated frequently, yet might fluctuate above moment. Our encounter with ZetCasino factors to the fact that will ZetCasino is usually, by simply all balances, a fairly great online casino. ZetCasino online allows a ton of transaction methods, comprising e-wallets, playing cards, financial institution transactions, prepaid cards, and cryptocurrencies.
Through this menus, participants will also become able in purchase to change typically the language regarding typically the online casino. Online Casino followers will end upwards being in a position in buy to load the particular cellular edition regarding ZetCasino in The english language, European, Shine, Hungarian, German, Colonial, Norwegian, European plus Finnish. ZetCasino will not offer you any sort of native application which often implies of which players will simply require typically the web browser software of their particular products to load the particular cell phone on range casino.
Make your own first deposit right now and acquire a 100% matched up downpayment added bonus upward to $750 plus two hundred totally free spins about top. In Case an individual usually are seeking to get the particular maximum advantage out associated with this particular offer, deposit $750 in addition to start playing along with $1,five-hundred. Typically The Zet Casino app will be designed to be capable to job perfectly about both iOS plus Google android products. Whether Or Not you’re using a good i phone, ipad tablet, or Android os mobile phone or pill, typically the application is enhanced to be in a position to deliver a consistent knowledge across all programs. An Individual can download the particular app coming from typically the particular application retailers or access typically the mobile-optimized version associated with the particular site if a person prefer not necessarily in order to mount the app.
Irish players could actually play a demonstration regarding several of typically the online games with consider to free prior to these people part with their particular hard-earned money. The Particular actively playing encounter associated with all typically the live titles will be solid, with channels of a large top quality plus easy-to-navigate lobbies and waiting around areas. The Particular online video gaming site partners together with Partner affiliate marketers to market the providers.
However, it can possess a cell phone gambling internet site suitable along with i phone and Androiddevices. The Particular cell phone system arrives along with comparable functions as the desktop computer interface. Simply that it is usually much simpler to employ in addition to interpret because of to end upwards being in a position to their plain and simple design and style, with the cell phone design and style Zetcasino fanatics can punt about typically the proceed without having getting in buy to down load a Zet on range casino software.
At this time presently there will be no local cell phone software, but typically the cell phone internet site provides recently been built with such high quality, that presently there might become small distinction in between the cellular internet site and a cell phone software. Zet Casino’s live supplier reception will be offered by simply Advancement Video Gaming and Practical Enjoy, very probably typically the two biggest reside seller suppliers within typically the company. In Case a person are not well-versed inside on range casino gambling needs, here’s a fast breakdown. In Case a person claim a 100-euro bonus together with 40x wagering attached, a person will require to be in a position to gamble by means of 4000 euros (40×100) to end up being in a position to change typically the added bonus funds in to withdrawable cash.
Rather, they usually are created by simply video gaming software generating businesses each along with a staff regarding high level codersand engineers. That is usually exactly why every single slot machine machine or table game is different from one more. Nevertheless, the main cause exactly why Zet online casino administration resources the gambling application through additional businesses will be tomeet the particular needs of various gamers. It is likewise among typically the number of items of which aid together with the particular Zet casino position. The video gaming providers in whose online games an individual won’t skip inside the particular on collection casino consist of Play’n Move,Yggdrasil Gaming, NetEnt, plus Apricot. Nevertheless, the the higher part of survive video games are found through Development Gaming and Ezugi.
In Case you ever before have concerns concerning anything related to your accounts, a person can get in touch with the live chat team 24/7. The reside casino market provides produced exponentially over the earlier few many years. Within fact, presently there are now lots associated with diverse choices to select through. These include every thing from traditional stand online games such as different roulette games, blackjack, baccarat, sic bo, plus poker to end upwards being able to video clip slot machines, intensifying jackpots, scuff credit cards, and actually sports gambling. The online casino wants in purchase to create a great outstanding gambling atmosphere in add-on to as a result provides a high-quality gambling catalogue so that will each gamer may discover precisely what this individual wants!
]]>