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);
The 1win app enables customers in buy to place sports activities wagers plus play online casino games immediately coming from their cellular gadgets. Fresh participants could benefit through a 500% delightful bonus up to become in a position to Several,150 regarding their particular very first four deposits, as well as stimulate a special offer you with consider to putting in the particular cellular application. Typically The 1win software gives consumers along with the particular capacity in order to bet about sporting activities in addition to enjoy online casino games about both Android os and iOS devices. Typically The cellular app provides the full range regarding functions obtainable upon typically the web site, without any limitations. An Individual may constantly down load the latest edition of the particular 1win software from контор и онлайн казино the recognized web site, in addition to Android customers could set up automated updates. New consumers that sign up through the particular app could state a 500% delightful added bonus up in buy to Seven,a hundred and fifty about their first 4 deposits.
In Addition, an individual may obtain a reward regarding downloading it the particular software, which often will end up being automatically credited in purchase to your own accounts on login.
]]>
Typically The 1win software permits customers to be able to place sporting activities wagers in inclusion to perform on line casino games immediately coming from their own cell phone products. New participants can benefit from a 500% pleasant bonus upwards to be in a position to Seven,one hundred or so fifty with respect to their own first several deposits, and also activate a specific provide regarding setting up the particular cell phone app. The Particular 1win software gives customers together with the particular capability in purchase to bet upon sporting activities in inclusion to appreciate casino online games about each Android in inclusion to iOS devices.
Typically The mobile application gives the full range regarding functions accessible on the particular web site, without any sort of constraints. An Individual can constantly get the particular 1win предоставляет вам newest version regarding typically the 1win app from the recognized site, in inclusion to Android os customers can established up automatic improvements. New users who else sign-up via the particular software may declare a 500% welcome reward up to become able to Several,a 100 and fifty upon their own first several build up. Additionally, you may get a reward for installing the particular app, which often will become automatically awarded to become capable to your own account after sign in.
Stick To these methods, and a person immediately sign in in order to take satisfaction in a large range associated with casino video gaming, sporting activities wagering, and almost everything provided at just one win. Inside the considerable casino 1win selection, this is usually the particular largest category, showcasing a great range associated with 1win games. A Person’ll likewise find out progressive goldmine slot machine games providing the particular possible regarding life changing benefits. Popular game titles and fresh produces are continuously additional to become able to the 1win video games library. Loyal on collection casino gamers can benefit coming from a every week cashback advertising. Yes, 1win will be regarded as a reputable plus risk-free system for on the internet wagering.
This Particular process furthermore enables us in buy to ваш личный кабинет это combat multi-accounting by giving out one-time bonus deals in purchase to each and every player precisely when. On our own gambling portal a person will locate a wide choice regarding well-known on collection casino games appropriate regarding participants associated with all encounter in inclusion to bankroll levels. Our best top priority is in purchase to supply you together with enjoyable in inclusion to amusement inside a safe and accountable video gaming surroundings. Thanks A Lot in purchase to the certificate plus the particular use associated with dependable gambling software program, we all have got gained the complete trust of our customers.
Buy-ins start lower, times solve inside mere seconds, in addition to RTP sits close to 96 %. Thanks to end upwards being able to provably reasonable hashes, every single shuffle is verifiably arbitrary, preserving suspense high in add-on to outcomes transparent regarding all skill-level participants. Typically The elegant 1win mines predictor apk statements it can reveal bomb areas before you move. Inside fact, every round is produced by a safe RNG seeded on-chain, making predictions mathematically impossible. Downloading any mines predictor apk 1win version dangers spyware and adware, thieved credentials, in inclusion to banned company accounts.
This Particular type of bet may include forecasts around several fits happening at the same time, possibly addressing many regarding diverse outcomes. Individual wagers are perfect for both newbies plus skilled gamblers because of to be capable to their simplicity plus obvious payout framework. Solitary bets usually are the particular most simple and broadly preferred betting alternative on 1Win.
Yes, most main bookmakers, including 1win, offer you reside streaming associated with wearing events. It is usually essential to put that typically the benefits of this bookmaker company usually are likewise pointed out by those participants who criticize this specific really BC. This when once more shows that will these features are usually indisputably applicable to typically the bookmaker’s office.
We All provide a delightful bonus with consider to all new Bangladeshi clients that make their own first downpayment. Typically The wagering requirement is determined by establishing loss coming from typically the earlier time, in addition to these sorts of loss usually are after that deducted coming from the particular reward stability and moved in buy to the particular main account. Typically The certain percent with respect to this specific calculations varies from 1% to 20% and is usually dependent about the particular complete loss sustained. You will and then become in a position in order to commence gambling, as well as move in buy to any segment associated with typically the site or application. They work together with big brands such as FIFA, UEFA, and UFC, demonstrating it is a trustworthy internet site. Safety is a leading top priority, therefore typically the internet site is provided along with typically the finest SSL encryption plus HTTPS process in purchase to guarantee site visitors sense safe.
The Particular on line casino 1win is usually securely protected, therefore your current transaction details are secure plus are not able to be stolen. The cash you withdraw usually are generally acknowledged in purchase to your own account about typically the exact same time. However, presently there may be gaps of upward to become able to three or more days and nights depending about typically the disengagement remedy a person pick. A key characteristic is usually typically the use associated with SSL encryption technological innovation, which often protects personal in add-on to monetary info coming from unauthorized accessibility. This Specific stage associated with safety maintains the privacy and honesty regarding player information, surrounding in purchase to a secure wagering atmosphere. In inclusion, regular audits in add-on to home inspections are performed to end upwards being in a position to ensure typically the continuous security of typically the system, which often boosts the stability.
In Addition To the the greater part of significantly, just what bonus deals may an individual grab proper through the particular start? 1win offers 30% cashback on deficits received about on collection casino games inside typically the very first week regarding putting your signature bank on upwards, giving gamers a safety web although they will acquire utilized to typically the system. You might use a promotional code 1WINS500IN with respect to an extra downpayment reward when a person indication upwards.
Within add-on, presently there is usually a selection associated with online online casino online games in addition to reside online games with real sellers. Beneath are usually typically the entertainment produced by simply 1vin in addition to the particular banner leading to end upward being capable to poker. A Great interesting characteristic regarding the particular club will be the particular possibility regarding registered guests to watch movies, which include latest produces from well-known galleries. 1win features a robust poker segment exactly where participants may take part in various poker games in inclusion to competitions. The system gives well-liked versions for example Arizona Hold’em in inclusion to Omaha, catering to the two beginners and knowledgeable participants.
Undoubtedly, 1Win users by itself being a popular in inclusion to extremely esteemed selection for those seeking a thorough in add-on to trustworthy online online casino platform. 1Win is usually fully commited to become capable to ensuring the particular honesty plus security regarding their cell phone software, giving customers a safe in add-on to top quality video gaming knowledge. If an individual possess virtually any issues together with login 1win, really feel free of charge to make contact with typically the group regarding personalized troubleshooting.
Zero vigilant supervising will be necessary—simply rest and enjoy. Exhausted associated with standard 1win slot device game sport themes showcasing Egypt or fruits? In add-on in buy to typically the main additional bonuses, users may consider part within other equally great promotions. Become mindful, as all the promotions possess an expiration date, therefore retain a great eye upon their course inside order to complete typically the gambling specifications in period in addition to obtain a prize. A Person automatically join the devotion plan any time an individual commence wagering. Make factors along with each and every bet, which may become converted directly into real funds later on.
Why Typically The Program Will Be Not Really Installed?Regarding an traditional online casino encounter, 1Win provides a extensive survive dealer segment. By completing these types of actions, you’ll possess successfully developed your own 1Win bank account in addition to can begin checking out the platform’s choices. Typically The simpleness of this procedure tends to make it accessible for each fresh in add-on to skilled users.
Customers usually are offered a massive choice regarding amusement – slot machine games, credit card online games, reside online games, sports betting, and much more. Immediately following sign up, fresh customers obtain a nice welcome bonus – 500% about their 1st deposit. Almost Everything is carried out with regard to the comfort associated with gamers inside the particular wagering organization – many of techniques in buy to down payment cash, internet on collection casino, lucrative additional bonuses, plus an enjoyable surroundings. Let’s consider a closer look at typically the gambling establishment in add-on to what it provides to their users. Pleasant to typically the exciting planet of 1win Ghana, where on the internet wagering fulfills a extensive online casino encounter. Along With a useful program, you can easily navigate by means of a broad variety regarding sports wagering options and popular casino online games.
Some watchers pull a differentiation among signing within about desktop vs. cellular. Upon the desktop computer, members generally notice the sign in switch at the particular upper edge associated with typically the home page. On mobile devices, a menu symbol may present the same functionality.
]]>