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);
Withdrawals in buy to e-wallets and cryptocurrencies will then be prepared within hours. It may take upwards to end upward being able to five company times for money to become directed by typically the bank. Don’t proceed our Indian native brothers, since he is doing monopoly with Native indian consumers. Not Really providing assertion associated with downpayment sum plus saying can’t offer after that consider.
Several software program providers on Casino Days’ roster, such as Microgaming, have got extensive information of the particular gambling field. Because Of to end up being capable to their particular knowledge, they will understand specifically what the Kiwi Gamer wants—expensive, immersive, and smooth gambling. It’s achievable to be able to acquire the particular same adrenaline hurry as if an individual had been in a reside on range casino without leaving behind the convenience regarding your own personal house. This typical environment is usually now obtainable at your own disposal 24/7 along with Casino Days And Nights. Popular online games at On Range Casino Times include Entrance of Olympus and Buffalo King through Pragmatic Play, Publication of Dead through Play’n Go, plus Super Moolah through Microgaming.
Distant gambling at on-line internet casinos is usually theoretically forbidden inside Brand New Zealand. There will be a government-run sports activities in inclusion to equine competition wagering services called TAB, nevertheless presently there are no similar platforms for on-line on line casino video games. There are usually simply half a dozen brick-and-mortar internet casinos allowed within typically the country, which usually usually are positioned in Queenstown, Auckland, Stalinsky, Christchurch and Dunedin.
Spinz Casino uses SSL security in purchase to safeguard your own delicate information and will be on an everyday basis audited by self-employed thirdparty auditors to ensure reasonable enjoy. Spinz Online Casino offers a commitment plan exactly where you could earn factors and redeem these people for bonuses, free spins, and other rewards. Tying inside the presented listing previously mentioned, we all have got developed a fast plus simple checklist supplying an individual along with all the particular fine detail you’ll require in buy to understand concerning every on-line casino. The Particular minimum deposit for proclaiming a welcome bonus may possibly become higher compared to the particular requirement for producing a basic deposit.
Aside through the particular pleasant package deal, presently there was simply a single other sort associated with campaign obtainable at Casino Times whenever composing this specific overview. This Specific has been a drop-and-win provide that will a new reward swimming pool of hundreds of thousands of dollars. Since 2017, OnlineCasinosRealMoney.co.nz has already been a top online casino site within New Zealand. Our group of 2 dedicated professionals assures typically the web site remains present and up-to-date. Yes, On Range Casino Times functions beneath a appropriate video gaming certificate plus makes use of security in order to protect participant info.
In Buy To become exact, SkyCity Casino’s fast payout can pay you within just 6th hours (choosing the particular right disengagement option). An Individual may notice your bank account’s brand new earning amounts inside one hr, or upwards to become able to a few days. One distinctive function of TonyBet Online Casino is usually its sportsbook, which usually permits a person in buy to bet about a broad selection of sports activities and fits through around the particular globe. This Specific function sets TonyBet Casino aside through some other on the internet internet casinos in add-on to gives you a unique gambling knowledge.
However, typically the certain moment it will take the particular cash to get within your accounts in the end is dependent about your own desired repayment technique. With several options, like a good e-wallet, the particular exchange will get highly processed inside several several hours. Black jack fans usually are spoilt for choice any time it comes to the finest online casinos.
It will be will no longer a key that on-line casino video games are cherished worldwide. This Particular is because folks are tired regarding proceeding to be able to land-based online casino shops. Through our own observation, the the vast majority of typical sport that players enjoy will be typically the pokie, also recognized as typically the slot machine games equipment. Pokie, furthermore recognized as slot equipment games, usually are casino online games along with an variety associated with symbols shown in a grid.
Participants accessibility the complete variety of functions through regular web internet browsers such as Chromium, Safari, or Firefox. The Particular scrape cards video games at On Range Casino Days And Nights NZ charm to gamers who else favor simple gameplay along with instant effects. These Sorts Of online games maintain typically the important factors associated with bodily scrape credit cards although adding electronic animated graphics and noise effects. The Particular Casino Days NZ welcome reward will be obtainable in buy to claim without getting into a advertising code. Brand New participants may obtain typically the welcome added bonus by generating their own first deposit upon typically the web site.
Along With thus many choices, there’s anything for everyone at Lucky Times online casino. Their Own easy plus protected repayment methods permit regarding immediate debris in inclusion to withdrawals, providing a person complete manage over your cash. Online Casino Times sticks out from several some other leading online internet casinos by providing a cell phone app, generating it effortless to end up being in a position to access typically the online casino. These People likewise possess unique offers and marketing promotions solely for application consumers. Currently, the particular application will be just available with consider to Google android, nevertheless iOS consumers may still entry the particular casino by implies of their particular browser. The assistance team is usually super successful and regularly fixed our problems within merely several exchanges.
It’s crucial to end up being in a position to note that typically the precise process with consider to running pay-out odds may fluctuate dependent upon the particular online casino and the transaction method utilized. Become sure to become able to study the online casino’s payout plans thoroughly and pick a payment approach that offers fast processing occasions in buy to make sure you obtain your current transaction as rapidly as possible. LeoVegas categorizes participant comfort by simply giving convenience across numerous programs. Participants may appreciate their own favored video games upon both desktop computer and cellular gadgets, guaranteeing uninterrupted entertainment. Wildz Casino provides several bonus deals in addition to marketing promotions to each fresh and existing gamers. As a brand new participant, an individual may get a welcome reward associated with upwards to end upward being capable to NZD five-hundred in inclusion to 2 hundred free spins about selected games.
Casino Days is owned or operated simply by White-colored Star b.v in inclusion to provides recently been operational given that 2020. Typically The web site is totally certified and works making use of a Curacao betting certificate. This Particular means the particular gambling web site accepts participants coming from many nations around the world, which include NZ gamers. Physical restrictions – Certain online games in add-on to promotions may not really end up being accessible to become able to all participants. Mobile-friendly encounter – Optimized for each desktop computer plus cellular casino video gaming.
These People offer you mobile-exclusive bonuses casino days, enable push notices with consider to fresh online games plus offers, in add-on to characteristic improved navigation in add-on to functionality. A Person could likewise record within by way of TouchID or FaceID plus make use of mobile-only repayment procedures such as Apple in add-on to Yahoo Spend. Black jack, roulette and baccarat are usually all well-liked survive seller variants. Survive online game shows usually are also a distinctive feature regarding live internet casinos and have got come to be very well-known, as they will offer you massive max win possible thanks to become in a position to in-game ui bonuses plus multipliers.
These designers consist of NetEnt, Microgaming, Enjoy’n GO, in addition to Quickspin, among other folks. SkyCity Casino is certified plus regulated simply by the particular The island of malta Gambling Expert in addition to gives a safe and safe gambling environment with respect to your current entertainment. King Billy Online Casino includes a mobile-responsive website of which allows an individual in buy to take pleasure in your own favorite games on typically the go.
An Individual ought to prevent running after loss in addition to become cozy along with the particular limits of which a person established. The Particular New Zealand Wagering Take Action associated with 2003 is the particular country’s main item of laws whenever it comes to be able to Fresh Zealand betting regulations. Although it is illegitimate for on the internet wagering to become offered domestically (other compared to by Parte NZ and typically the TAB), Kiwis can legally bet at overseas sites.
However, I may simply take away through a lender wire exchange unless of course I enjoyed with crypto, therefore that’s very good in buy to maintain inside brain. Luckily, the 24/7 customer care was presently there all set to become able to assist me together with any queries, therefore actively playing had been a piece of cake. One these types of provide is the weekend break procuring On Range Casino Days And Nights bonus, wherever a person can generate 10% cashback on your current gameplay.
Online Casino Times mobile online casino is quickly, convenient, plus good-looking, so presently there will be no more a require to become able to keep at home waiting around with regard to a event or award attract. Always create a spending budget regarding each and every wagering session therefore you understand when to be able to go walking apart. Perform not necessarily beverage alcohol whenever gambling on-line.Online gambling can become extremely habit forming.
]]>