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);
A no downpayment bonus coming from PlayCroco gives you a bit of funds in buy to use whilst actively playing for real cash just before an individual downpayment with the particular cashier. Depositing players could make use of Visa, Mastercard, Neosurf, Agente, Bitcoin or Flexepin to be capable to facilitate Croc Casino multiple accounts build up. Presently There are usually super advertising codes in add-on to Perform CrocoCasino bonus deals appropriate upon money placed in buy to enjoy real money on-line pokies. The very first zero down payment reward code that will a person ought to receive is usually the $10 casino totally free nick. This Specific is an excellent approach to begin enjoying on-line pokies along with real money in inclusion to see if PlayCroco casino suits your current flavor.
Wondering which usually PlayCroco no-deposit bonuses are at present obtainable in buy to claim? Beneath you’ll locate all regarding the existing no-deposit bonus deals upon offer you within 2021. Hand-selected simply by typically the large croco himself, these sorts of no-deposit additional bonuses are created in purchase to beef up your own financial institution bank account plus idea typically the odds inside your favor.
In Inclusion To those are just a couple regarding factors the purpose why a person miught need to end upwards being capable to verify out there Playcroco On Range Casino. An Individual can likewise assume in purchase to look for a user friendly browser-based quick perform on range casino to access – conserving an individual a great deal more moment than ever before. Australian players have used plus typically the verdict is very clear – they will really like PlayCroco. Our every day totally free spins, irresistible zero deposit additional bonuses, in add-on to whopping match up additional bonuses usually are developed in order to increase your current enjoyable and your winnings. Plus, our 24/7 chat help indicates we’re always in this article to retain your own PlayCroco experience clean cruising. Typically The Enjoy Croco cellular online casino will be typically the best program with respect to typically the mobile pokies in inclusion to video games enthusiast in addition to what a terme conseillé it will be, packing inside so very much activity in to typically the superbly developed lobby.

Choose a username in addition to a password, confirm the security password on typically the form and after that verify typically the security password again when a person get a affirmation email through typically the Play Croco on-line casino. Within most situations, the down payment methods allow a person in buy to leading upward your accounts with as little at $20. However, in case a person have got a bitcoin wallet or even a prepay Neosurf voucher you may deposit a minimum of $10 directly into your bank account to perform. Peering past typically the standard reveals PlayCroco’s cherish trove associated with specialty online games.
All Those who stick with us acquire this extra unique benefit to become in a position to their own chances together with a simply no deposit bonus code plus possibility to win real funds. An Additional essential factor in purchase to take into account any time signing upward in buy to PlayCroco, a genuine money online on range casino, is the varieties regarding games, pokies plus slot machines that will we provide. The $10 PlayCroco no deposit added bonus will be 1 of the particular reasons this specific is usually typically the finest on the internet casino. One More perk is typically the $100 CrocoBoost for returning gamers. As extended as a person down payment in add-on to play with consider to real cash each and every few days, the particular $100 CrocoBoost is obtainable each Friday, and there’s simply no downpayment necessity a person should satisfy within order to become able to qualify.
Participants may win upwards to become capable to 40% cashback regarding their own busted build up this way. Typically The on collection casino is usually loaded together with features and online games to keep a person happy. Together With 100s regarding online games available inside the particular quick enjoy online casino plus a variety regarding banking choices, it will be also effortless for players to become able to use. They offer you a diverse selection regarding secured deposit strategies in add-on to withdrawal options regarding all participants, including cryptocurrencies and traditional banking procedures. The lowest down payment required to use all those alternatives will be $10.
You’ll need to draw upwards typically the web page upon your current system in addition to and then employ the particular menus about typically the right part of the particular display to become in a position to accessibility the register contact form. They Will ask for standard information, for example your own name plus some other individual data. An Individual’ll also require to become capable to confirm your own e-mail address to become capable to entirely validate your current accounts. As Soon As your current account is upward and working, you’ll would like in order to create your current 1st down payment in addition to play a few games!
As extended as you’ve produced a down payment with the on range casino, that $100 free bonus is usually the one you have. Become A Member Of the online casino in inclusion to claim your own good pleasant reward and $50 free of charge nick these days. Actual money pokies plus slots are usually typically the the vast majority of well-known option between the Aussie participants. Visit the particular Cashier in inclusion to pick your current on the internet casino banking technique. When a person choose typical on-line pokies or fresh slots, we’ve got something regarding everyone.
They also possess a Croco Selections assortment which often illustrates the web site’s preferred slot machines at PlayCroco on-line. These People possess five baitcasting reel video games, niche video games and about three fishing reel slots. The about three baitcasting reel slots usually are classic games with little pay lines, in addition to a few regarding typically the PlayCroco alternatives usually are Neon Wheel 7s, Sparkly 7s and Crazy Fire 7s. A Person could assume acquainted aspects like cascading icons or broadening symbols, with consider to illustration.
Banking choices might end upwards being offered by PlayCroco Online On Range Casino, nevertheless of which doesn’t make these people feasible with consider to every single player. The actual deposit methods are usually dependent on your own nation or state. When you record within in inclusion to check out the cashier, the particular list associated with deposit methods obtainable within your own area seems. Phone support is in the particular works, so check the casino assistance page in purchase to see in case it’s available but. The Particular conversation support will be the suggested method to be in a position to reach away in order to a PlayCroco On Range Casino representative along with questions, worries, or merely to say “hi.”
Accessible to end upward being in a position to members within the form of a tasty looking shake, CrocoBoost will be a weekly promo that will allows an individual to get a free of charge $100 added bonus every single Fri. Almost All you require to end upward being in a position to carry out in order to to acquire this particular offer will be deposit daily through Monday to end upwards being in a position to Friday. Presently There are usually couple of items inside this particular world of which all of us love even more as compared to running online casino special offers. It provides Croco a opportunity to be able to reward dedicated on line casino players with added prizes in addition to ensures you possess anything enjoyable to end up being able to appearance ahead in order to when an individual enjoy along with us. Right Now There usually are usually promos in the Terrain associated with PlayCroco plus the mascots interest for these people competitors his really like for a juicy share in that these people each create their oral cavity water. Regarding fanatics regarding slot machines, the particular appeal of Enjoy Croco free spins will be a good irresistible siren contact.
It’s not necessarily merely concerning gameplay nevertheless furthermore about safety and justice. Along With PlayCroco’s certification, gamers may participate together with confidence, knowing these people usually are in a space that prioritizes their safety plus pleasure. Certification is the bedrock of dependability in the on the internet on range casino realm, plus PlayCroco sticks out along with their appropriate qualifications. This Specific license isn’t merely symbolic; it’s a testament to become capable to typically the online casino’s determination to exacting industry requirements, encompassing fair perform, safe purchases, and accountable gambling.
Debris associated with $10 (Bitcoin or Neosurf minimal downpayment limits) usually do not meet the criteria. At typically the end associated with typically the day, actively playing on-line pokies inside Quotes regarding real money teaches a person how to win. In Case you’re actively playing online slots with respect to totally free, then you’re normally more flippant along with your current techniques.
This Particular requires submitting documents to www.playcrocogame.com validate your current identification. Once an individual’re carried out along with KYC in inclusion to your identification will be validated, you’ll be able to end upwards being able to widely pull away your slot equipment games winnings plus rewards about the web site. Again, withdrawals are usually totally free associated with demand at PlayCroco – nevertheless a person may possibly would like to check when your own payment supplier costs any type of fees. Here is usually a quick synopsis that will could assist an individual know what PlayCroco On Collection Casino gives to players.
All Of Us employ a great Predicted Benefit (EV) metric regarding reward to ranki it in phrases when the record possibility of a positive internet win outcome. Driven by simply Genuine Time Gambling software program, these online games shine about pc or mobile, making sure smooth play anytime a person log within. Together With alternatives like live dealer tables and classic casino worn, right today there’s usually anything fresh in buy to try.
At this specific final degree, an individual obtain 40% cashback, premium support, a daily 200% reward + 35 spins, a weekly withdrawal reduce regarding $10.000, plus a devoted VERY IMPORTANT PERSONEL sponsor. At this specific degree, an individual obtain 35% cashback, customized help, a everyday 150% added bonus plus 30 spins, and a weekly withdrawal reduce of $7.five-hundred. Despite on the internet internet casinos in inclusion to brick-and-mortar casinos being likewise inside numerous ways, right now there are usually a couple of key distinctions.
Consumers need to prove that will they are usually in control associated with typically the playing cards they will have got used in purchase to down payment at PlayCroco online casino. Clients need to deliver a photo associated with typically the entrance plus back again of each and every card they will utilized. Full card quantity need to be uploaded as the program will automatically blur the particular 1st 7 digits plus the particular final 4 numbers regarding the particular extended quantity on typically the entrance. The Particular accountable betting tools are pretty fundamental – you get self-exclusion but not really a lot else. I couldn’t find virtually any cool-off periods or in depth spending controls that will I’d anticipate coming from a contemporary casino. That Will means there’s adequate no-deposit prizes regarding everyone… you don’t actually possess in buy to wait around within collection.
Any Time a person become component of the particular PlayCroco loved ones, you obtain instant access to a special Delightful Added Bonus. Merely enter in the code PLAYCROCO into the bonus field to be capable to obtain 200% upward in purchase to $5,000. That’s not really all although, because we all need an individual to become in a position to sense awesome, everyday plus cozy at our own casino, therefore we’ll furthermore throw a $50 free treat into the particular pot any time a person enter in PLAYCOOL. Well, probably something of which seems just such as a warm (and wet) hug through your own mate Croco. Would Like a whole lot more amazing bonuses such as no downpayment additional bonuses, totally free spins in inclusion to plus very much more? Typically The primary issues are typically the weak added bonus terms and limited sport selection from just a single service provider – Realtime Gaming.
]]>