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);
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.
1 regarding typically the many stimulating online games accessible these days is Puits on typically the 1win program, where a stability among technique and psychology takes on a essential role within attaining success. This Particular game gives players the particular chance to end up being in a position to turn minimal opportunities directly into considerable advantages by simply carefully assessing risks in addition to producing determined decisions. The Particular 1win Souterrain online game furthermore offers the chance with respect to Nigerian participants to become able to try out out all typically the features within a trial edition. It’s an excellent thought to become in a position to find out all the particular regulations plus methods far better without having jeopardizing your funds. You Should take note that within typically the demonstration variation, an individual will not be in a position to pull away your current earnings if a person win.
Smart design crunching in addition to a touch associated with probability change all those colored squares in to hints instead of severe headaches. Starters area the most dependable bets inside mere seconds; pros make use of typically the exact same guidance to pursue typically the largest pay-out odds. Locate Mines inside typically the online casino online games segment or use typically the research perform. Play anyplace, whenever on your smart phone or tablet along with our optimized cell phone version. Potential to win up to become capable to 1000x your current bet with intelligent strategy plus chance administration.
You may locate reputable platforms providing Mines simply by checking our own listing associated with advised internet casinos at the leading associated with this webpage. These Types Of show exactly how numerous mines are usually adjacent in buy to that cellular, supporting a person make educated choices concerning which often tissue to be capable to reveal subsequent. Sign Up a great account, down payment cash, and location your first bets in buy to commence actively playing instantly. Knowing these betting options and potential payouts is key to end up being capable to taking satisfaction in Mines in addition to making the most of your own probabilities for success.
1win Mines predictor can’t forecast the particular location of mines because of to their arbitrary position. Typically The sport makes use of a Arbitrary Number Generator (RNG) to decide wherever typically the mines usually are invisible, guaranteeing that will each and every round is usually totally unstable. This Specific randomness implies that attempts to end up being able to anticipate my very own locations will not produce any useful effects. Applying a Puits predictor APK 1win or any kind of comparable application to gain an benefit inside typically the game is not just underhanded but furthermore illegitimate. Cracking or trying to be in a position to cheat in typically the Puits online game may guide to be able to significant outcomes, which include account suspension plus potential legal activity.
The Particular design is kept as basic as achievable simply by the particular manufacturer in order to prevent distracting components and complexity. Monitoring development and adjusting methods are usually not really challenging here. Participants may engage along with the online game technicians with out being concerned concerning financial deficits, making it a perfect method to be capable to exercise. In Case a person use some ad preventing software program, make sure you verify the options. Go Over anything at all related to Puits 1Win along with other players, discuss your viewpoint, or get responses in buy to your current queries.
Each And Every safe click on multiplies your current first bet, with the particular multiplier growing typically the lengthier you carry on securely. In Case an individual quit plus money away just before striking a mine, you protected your own winnings. Another important selection is typically the amount associated with mines concealed upon the 5×5 main grid. Selecting even more mines raises typically the game’s trouble nevertheless also boosts the possible payout multiplier.
Typically The platform’s trustworthy RNG guarantees fair final results , while repeated bonus deals in addition to promotions include additional value in inclusion to excitement for gamers. Every risk-free tile a person reveal raises your profits, frequently increased by the particular amount associated with safe tiles exposed. Nevertheless, when a person simply click on a my very own, typically the online game ends right away, and you drop your current bet. No subscriptions, zero hidden costs, zero “premium opens.” The 1win mines predictor totally free tool is usually accessible to everybody, anytime. Let’s become honest — the internet is full regarding bogus guarantees any time it will come to be able to 1win Mines.
You will see a 5×5 grid associated with tiles, each hiding either a secure place or a my very own. On the particular display, you could handle your current bet, choose exactly how several Souterrain you would like, and select in order to enjoy by hand or automatically. It performs easily on each pc plus mobile variations of the site. 1win Mines within Nigeria is usually a popular type of betting enjoyment that will appeals to typically the interest associated with fans associated with modern original games. The Particular gameplay movements very swiftly, so gamers want to be in a position to end upwards being as mindful as achievable so as not really to end upward being able to lose their budget.
An Individual are usually going via a real study, where attentiveness, technique in add-on to logic are extremely essential within buy not really in purchase to tumble right in to a my own. Each successful reveal increases your own multiplier in addition to possible winnings. Become mindful, as uncovering a mine ends the rounded plus forfeits your own bet. Typically The paytable inside 1Win Puits is dynamic, showing the particular game’s unique risk-reward structure. It adjusts centered upon typically the number associated with mines picked in inclusion to the main grid size, offering a broad range associated with possible pay-out odds for each prosperous reveal. Winnings are usually determined based about exactly how numerous risk-free tiles an individual efficiently reveal without having hitting a mine.
Other position halls are usually able to present an adaptable edition regarding the recognized site. They Will usually are zero worse as in comparison to independently online utilities, because these people retain all typically the features of typically the desktop computer version plus tend not necessarily to take upwards the particular storage regarding typically the device. Crash Online Game is appropriate with regard to internet hall regulars who such as the relieve regarding game play, plus novice gamers. Nevertheless the particular internet site also provides customers trial slot machines such as Buffalo Ruler Megaways, Publication regarding Ra plus Butterfly Staxx two.
Next these easy guidelines will help an individual safeguard your money in inclusion to appreciate playing 1win Mines without having unnecessary risks. Typically The main objective within Mines is usually to reveal as numerous safe squares as possible with out reaching a mine. Gamers may modify typically the amount regarding mines upon the grid, starting from just one to 20. The even more mines present, the particular larger the potential multiplier with respect to each star uncovered. Dependent about your danger tolerance, choose how many mines you would like hidden within the main grid. A Whole Lot More mines may business lead to be capable to www.1win-casino.kg larger advantages but furthermore boost the particular chance associated with striking a my own.
Furthermore, Mines sees typically the increasing trend of cryptocurrency ownership simply by helping popular digital values like Bitcoin, Ethereum, and Litecoin. 1Win Mines pulls ideas coming from typically the traditional Minesweeper sport, changing it into an engaging game encounter of which déconfit technique with fortune. The Particular style revolves about value hunting, exactly where participants delve right directly into a discipline regarding hidden mines to discover valuable benefits. The Particular simplistic however efficient aesthetic rendering brings a nostalgic feel although preserving the enjoyment at the forefront. Each And Every session can feel just just like a fascinating journey as players should cautiously understand their choices, evoking the suspense of a treasure-seeking expedition in a minefield. This system allows a person in order to make each rounded unpredictable yet along with a ready-made version of typically the enjoying field.
]]>
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.