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);
Możesz skorzystać z paska poszukiwania, by błyskawicznie znaleźć poszczególnego dewelopera spośród dostępnej ewidencje. Żeby otrzymać darmowe spiny, należy wpłacić min. 85 zł. Premia należy obrócić w ciągu dziesięć dzionki wraz z wymogiem obrotu x40.
Jeśli dzierżysz ochotę otrzymać w nagrodę coś specjalnego, to klub VIP Bizzo Casino w naszym kraju będzie na rzecz Twoich potrzeb idealny! Później już tylko zdobywają punkty i pną się w hierarchii, osiągając kolejne poziomy, spośród których każdy zapewnia unikatową nagrodę. Oprócz bonusów powitalnych kasyno może zachwycić graczy kilkoma cotygodniowymi bonusami, które znacząco uatrakcyjnią proces gry na pieniądze wciąż.
Oprócz rozległego wyboru konsol hazardowych, warto zwrócić uwagę na sekcję z bonusami – unikatowe i hojne propozycje atrakcyjne. Dzięki nim odkryjesz nadal więcej możliwości na rozbudowaną rozgrywkę. Oczekuje na Cię pakiet powitalny do 6250 zł i 125 free spins. Jeśli wyszukujesz czegoś niecodziennego, Bizzo Casino podaje unikalne rozrywki egzotyczne.
Technicznie kwestia biorąc, tego typu kasyno nie wydaje się być w pełni legalne w naszym kraju, choć zawodnicy mogą spośród niego korzystać, bowiem działa poza polską jurysdykcją. Poniżej lista technik i kanałów łączności kontaktu telefonicznego kasyno internetowego, wraz z których zawodnicy mogą korzystać. Automaty w Bizzo Casino przez internet owo rozległy wybór gier, a każde można testować w charakterze demo. BizzoCasino dysponuje bogatą ofertę komputerów na żywo, w którym miejscu fani mogą uczestniczyć w rozgrywkach spośród istotnymi krupierami. W palecie odnajdziesz tego typu rozrywki, jak Live Blackjack, On-line Roulette, Live Baccarat lub On-line Poker. Wymagania dotyczące obrotu są takie tylko jakim sposobem w poprzednich bonusach.
Bizzo Casino dysponuje licencję wydaną poprzez rząd Curacao, jak umożliwia zgodność wraz z wzorami i uczciwość gier. Licencje gwarantują ochronę praw internautów a także transparentność procesów. Jeśli napotkasz jakieś kłopoty w trakcie zabawy w Bizzo Casino, nie powinieneś się martwić – pomoc techniczne wydaje się dostępne, by pomóc w każdej sprawy.
Klasyczna rozrywka hazardowa z kołem ruletki – dostępne różne warianty, tego rodzaju jak europejska czy amerykańska. Interakcja w okresie rzeczywistym jest to coś, jak wyróżnia Bizzo Casino. Możesz rozmawiać z dealerami i innymi zawodnikami, jakie możliwości dodaje emocji i powoduje, że uciecha okazuje się więcej społeczna.
Dzięki licencji od momentu Polskiego Ministerstwa Finansów fani mogą być w pełni przekonani uczciwości i bezpieczeństwa świadczonych usług. Warto zarejestrować się i wypróbować różnorodne gry i skorzystać spośród proponowanych bonusów. Nadprogram powitalny robi robotę – obok krytycznej wpłacie otrzymuję 100% do odwiedzenia 100 EUR plus stu gratisowych spinów, a dalszy przechowanie przynosi 50% i kolejne spiny. Wymóg ruchu 40× owo standard, ale premia aktywuje się faktycznie od czasu razu i nie kryje żadnych haczyków. Na dodatkowo szybkie wypłaty – często w dwudziestu czterech h – i weekendowy cashback i cotygodniowy reload. Program VIP spośród wyższymi limitami, osobistymi ofertami, misjami i wyzwaniami czyni świetny klimat i zachęca do odwiedzenia powrotów.
Blackjack jest to karciana rozrywka, w której zamysłem wydaje się być pokonanie krupiera, uzyskując sumę punktów jak najbliższą, lecz odrzucić przekraczającą 21. Ruletka to uciecha, w której fan obstawia, na którym numerze bądź kolorze wyląduje kulka po zakręceniu koła ruletki. Masz do odwiedzenia dyspozycji 100% match offer do €/$ setka na pierwszą wpłatę, plus stu bezpłatnych spinów na Dig Dig Digger/Mechanical Clover. Dzięki różnorodności dostępnych opcji, gracze mogą korzystać z typowych i nowoczesnych technik płatności. Każda wraz z wymienionych została dokładnie wybrana, żeby zapewnić prostotę obsługi i ochronę umowy. Bizzo Casino umożliwia prędkie wpłaty, dzięki z jakiego powodu zawodnicy mogą bezzwłocznie rozpocząć zabawę, a wypłaty są realizowane fachowo, z brakiem zbędnych opóźnień.
Takie gry różnią się od momentu zwykłych komputerów kasynowych i oferują wyjątkowe doświadczenia. Warto spróbować czegoś nowego i zobaczyć, jak te rozrywki mają do przygotowania. Bizzo Casino podaje również gry Instant Wins, które dają szansę na natychmiastową wygraną. Gry są zwykłe i prędkie , jak sprawia je świetnym rodzajem dla internautów, którzy szukają natychmiastowej akcji. Naprawdę, Bizzo Casino ma licencję i przestrzega wielkich standardów bezpieczeństwa, zapewniając ochronę internautów. Fani mogą ustawić dzienne, tygodniowe lub miesięczne limity wydatków, aby uniknąć nadmiernego ryzyka.
Premia należy obrócić 30 razy, a spiny należy wykorzystać w ciągu 2 dni. Wszystkie otrzymane bonusy są objęte 40-krotnym warunkami ruchu, a optymalny zakład tuż przy wykonania owego zapisu jest to 20 zł. W wypadku tegoż drugiego możesz na początku zapoznać się spośród darmową wersją i sprawdzić, w jaki sposób działają serwery. Responsywność technologii HTML5 zezwala na płynną grę i dostarczanie obrazu HD (w wypadku kasyna LIVE), a tylko zastosowanie nie domaga się aplikacji na Twym urządzeniu mobilnym. Widoczni na poniższym zrzucie ekranu dostawcy owo jeszcze odrzucić wszelcy.
Bizzo Casino proponuje ponad 4000 gier, w naszym klasyczne automaty, dzisiejsze wideo sloty i progresywne jackpoty spośród olbrzymimi wygranymi. W ofercie znajdują się również gry stołowe, tego rodzaju w który sposób blackjack, poker i ruletka, a także kasyno na żywo z prawdziwymi krupierami. Dzięki współpracy spośród znakomitymi dostawcami, w jaki to sposób NetEnt czy Pragmatic Play, zawodnicy mogą liczyć na najwyższą jakość rozgrywki.
Bizzo Casino owo wspaniałe położenie na rzecz graczy w naszym kraju, które oferuje ogromny wybór technik wpłat i wypłat, uporządkowanych do odwiedzenia miejscowych wymagań. Niezależnie od preferencji, każdy wyszuka tu odpowiednie rozwiązanie, które umożliwia szybkość, bezpieczeństwo i wygodę. Na następne oferuje naprawdę ogromny premia powitalny, a według 3 możesz dołączyć całkowicie za darmo i spróbować własnych sił w kasynie online grając w wersję demo.
Zaświadczenie ten zapewnia, że kasyno przestrzega najwyższych standardów bezpieczeństwa i uczciwości. Bizzo Casino podaje również gry wraz z progresywnymi jackpotami. Te produkcje dają szansę na wygranie dużej sumy pieniędzy, która rośnie spośród każdym zakładem. Jeśli szukasz wielkiej wygranej, zabawy z progresywnymi jackpotami mogą być świetnym wyborem. Żądania obrotu zależą od czasu poszczególnego bonusu; szczegóły są określone w kodeksie reklamy.
Zarówno tok zapisu, jak i logowania są zwykłe, wygodne i bezpieczne. Każdy, kto poszukuje atrakcyjnych doświadczeń i możliwości na ogromne wygrane, winien zdecydować się na Bizzo Casino. Przygotuj się na wyjątkową podróż pełną bonusów, promocji i turniejów, które z pewnością zwiększą Twe szanse na wygraną. Faktycznie, Bizzo Casino proponuje fascynujący bonus powitalny na rzecz nowych graczy. Faktycznie, Bizzo Casino oferuje rozrywki będąc demo, dzięki dlaczego możesz wypróbować je z brakiem ryzykowania autentycznych pieniędzy.
Minimalna wpłata kosztuje 80 zł, a premia aktywuje się od czasu razu na poczynieniu depozytu. Warunek obrotu wynosi 40x, a maksymalny zakład tuż przy aktywnym bonusie owo 20 zł. Możesz poczuć się jak w rzeczywistym kasynie, grając w blackjacka, ruletkę bądź bakarata spośród istotnymi krupierami. Evolution Gaming i Pragmatic Play On-line owo jedynie niektóre wraz z wspaniałych studiów, które dostarczają te emocjonujące doświadczenia. Bizzo Casino istotnie deposit bonus codes owo następna gratka dla zawodników.
W ten sposób decydując się na aktywację wybranej promocji. Zawsze będziesz też właściwie poinformowany i świadomy jakości oferty, wraz z której chcesz skorzystać. Twórcy kasyna Bizzo postanowili zaprezentować własnym odbiorcom klasyczną ofertę promocyjną, obejmująca każde popularne typy ofert bonusowych.
]]>