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);
To Become Capable To entry your 1win bank account within Indonesia, you should stick to a easy process that will will get you associated with a great exciting globe associated with gambling bets plus gambling. A step-by-step guideline is offered here to guarantee a smooth and safe 1win login procedure regarding a consumer. When it arrives in purchase to playing about the internet, having information concerning the login 1win method will be essential.
The Particular organization is usually dedicated to providing a safe in add-on to fair gaming surroundings regarding all users. Regarding a great traditional on range casino knowledge, 1Win offers a thorough reside seller segment. 1Win features a good substantial collection regarding slot machine online games, wedding caterers in purchase to various themes, styles, in addition to game play technicians. It offers standard gameplay, wherever an individual require to bet about the particular airline flight regarding a small aircraft, great visuals plus soundtrack, and a highest multiplier of upward to end upward being in a position to just one,000,000x.
As Soon As authorized, going back participants may take pleasure in fast accessibility to end upward being able to an considerable range of gambling opportunities, coming from fascinating on line casino video games in order to powerful sports betting. Typically The betting platform 1win Online Casino Bangladesh offers consumers ideal gaming conditions. Create a good account, create a down payment, plus commence actively playing the particular finest slots. Commence actively playing along with typically the demonstration variation, wherever a person can enjoy nearly all online games with consider to free—except with respect to live dealer video games.
If an individual want in purchase to top upward typically the stability, stay to typically the next protocol. Typically The greatest factor is that will 1Win likewise provides numerous tournaments, mostly aimed at slot device game fanatics. Right After an individual receive cash within your account, 1Win automatically activates a sign-up reward. You will become motivated to enter in your current login qualifications, generally your current e mail or cell phone amount in addition to security password.
Typically The major advantage regarding typically the reward will be of which typically the funds is immediately credited to your current primary stability. This Specific indicates a person can either pull away it or carry on playing slot equipment games or placing sporting activities wagers. Find Out the charm of 1Win, a web site that will appeals to the attention of South African gamblers together with a variety regarding fascinating sporting activities wagering and online casino games. Holdem Poker, survive seller games, casino online games, sports activities betting, and survive supplier games are usually simply a few regarding typically the numerous betting possibilities available on 1win’s on the internet gambling site. Together along with online games coming from best software designers, the web site gives a selection of bet sorts. Every betting lover will locate everything these people require with regard to a cozy video gaming encounter at 1Win Casino.
1win online casino contains a rich selection regarding on-line games which include strikes such as JetX, Plinko, Brawl Pirates, Explode By and CoinFlip. Any Time a gamer provides a few or a whole lot more sports events to their own accumulator coupon, they will have a chance to increase their own winnings inside situation associated with success. The even more events inside the discount, the higher the particular final multiplier regarding the winnings will end upward being. An crucial level to be capable to note is usually that will the reward is acknowledged simply in case all activities on the voucher usually are prosperous.
Typically The company had been set up under the particular name FirstBet inside 2016. Basic particulars concerning 1win Vietnam usually are offered within the particular desk beneath. In Purchase To research for films and TV series an individual could established the particular rating on Kinopoisk plus Imdb, yr of release, type. Consumers through Russian federation have got access to become in a position to a distinctive item – 1Win TV on the internet cinema.
Acquire this – 1win’s serving upwards close to twenty,000 occasions every calendar month around thirty free spins different sporting activities. They’ve obtained almost everything from snooker to determine skating, darts to be capable to auto race. In today’s on-the-go world, 1win Ghana’s obtained a person included together with slick mobile apps for the two Android and iOS gadgets. Whether Or Not you’re a seasoned pro or a interested beginner, you could snag these apps straight coming from 1win’s recognized site. 1win isn’t basically a wagering web site; it’s a delightful neighborhood exactly where like-minded persons can swap ideas, analyses, and predictions.
Users have got access in buy to typical one-armed bandits plus modern video slot machines together with progressive jackpots plus complex added bonus games. A key function will be the employ regarding SSL encryption technology, which usually protects private plus economic info coming from not authorized entry. This Specific stage associated with protection maintains the particular privacy plus ethics of player info, contributing in order to a secure betting surroundings. Within inclusion, regular audits in addition to home inspections are conducted in purchase to make sure typically the continuing safety associated with the particular system, which usually boosts its dependability. In Buy To get the software, Google android users may check out the particular 1win web site in add-on to get the apk document straight.
The Particular number associated with transaction strategies, as well as typically the restrictions and conditions of crediting, will fluctuate dependent about the location where the participant lives plus the particular picked accounts foreign currency. This Particular will be betting about football in inclusion to golf ball, which will be enjoyed simply by 2 competitors. They want to execute shots on aim in addition to photos within the ring, typically the 1 that will report even more points is victorious. Upon the web site a person can view survive contacts of fits, trail typically the statistics regarding the oppositions.
]]>
It is enhanced for apple iphones plus iPads working iOS 12.zero or later on. Bonus money become obtainable following doing typically the required gambling bets. The Particular 1 Earn system credits eligible profits from added bonus gambling bets to become capable to the major account.
Our Own platform assures an enhanced betting experience together with advanced features plus safe dealings. 1win on-line gives you typically the freedom to end upward being capable to take enjoyment in your own preferred online games and spot wagers anytime plus anywhere a person would like. The system gives a large selection regarding sports activities market segments in add-on to live gambling choices, allowing an individual in buy to bet in real period along with competing odds.
Deposits upon the particular real web site usually are highly processed instantly, permitting gamers to become in a position to start gambling without having delays. 1Win gives hd streams with real-time actions. The Particular 1Win .apresentando system facilitates 1Win sport tournaments with special prize private pools. Gamers could use chat features to be able to socialize together with sellers in addition to additional individuals. Participants may entry their particular accounts through any sort of gadget with out restrictions. Purchases plus wagering alternatives usually are obtainable immediately right after enrollment on 1Win possuindo.
Regarding players seeking quick enjoyment, 1Win provides a choice regarding active games. Typically The 1Win iOS software brings the full spectrum of gaming and gambling choices to be able to your apple iphone or ipad tablet, along with a design and style enhanced regarding iOS products. Accessibility is firmly limited in buy to persons older 18 plus previously mentioned. Gambling need to become contacted sensibly plus not regarded as a source associated with income. In Case you encounter gambling-related issues, we supply immediate links in buy to self-employed companies giving expert support. 1Win provides a good APK document for Android os consumers to get straight.
To offer gamers along with the particular convenience regarding gambling upon typically the go, 1Win gives a dedicated cell phone application appropriate with the two Google android plus iOS products. The software reproduces all the particular features regarding the desktop web site, improved with consider to mobile employ. Indication up and make your very first down payment to be capable to obtain the 1win welcome bonus, which often offers additional money for wagering or on collection casino online games.
1win recognized is designed to end upward being in a position to provide a safe plus dependable environment exactly where a person could focus on the thrill of video gaming. We offer you a varied on the internet platform that will consists of sporting activities betting, on range casino games, in add-on to survive activities. With over just one,five hundred everyday activities across 30+ sports, gamers may enjoy reside wagering, and our own 1Win Casino features 100s of popular video games. Brand New customers get a +500% bonus on their first several debris, plus online casino gamers benefit coming from regular cashback of up to become able to 30%. Our Own program guarantees a useful in inclusion to protected experience with consider to all participants. We All operate under an worldwide gaming certificate, giving solutions to become able to players in India.
Fantasy format gambling bets usually are accessible in purchase to 1win consumers the two within the net edition and inside typically the cell phone app. The 1win wagering site is unquestionably extremely convenient plus gives lots regarding games in order to match all tastes. All Of Us possess explained all the particular talents plus weak points therefore of which gamers coming from India may make a good educated choice whether in purchase to use this particular support or not.
Operating beneath a legitimate Curacao eGaming permit, 1Win will be fully commited to providing a safe in add-on to reasonable gaming surroundings. 1win India gives 24/7 consumer help through live talk, e-mail, or phone. Regardless Of Whether you require aid generating a downpayment or have got questions concerning a game, the pleasant assistance staff is always ready to become capable to aid.
The Particular 1win license information could end upward being identified in typically the legal details segment. In inclusion, be certain in buy to go through the particular Customer Arrangement, Personal Privacy Plan in add-on to Good Enjoy Recommendations. In this particular case, we advise of which an individual contact 1win help just as feasible. The Particular quicker a person perform therefore, typically the easier it is going to become to fix the trouble.
Whether Or Not you prefer traditional banking methods or modern e-wallets plus cryptocurrencies, 1Win has an individual protected. 1Win Indian will be a good entertainment-focused online gaming system, providing users along with a protected in add-on to seamless encounter. Typically The program provides a receptive user interface plus quick routing. The record sizing is usually roughly 62 MB, guaranteeing speedy unit installation.
Take Satisfaction In a complete betting encounter together with 24/7 client help plus easy deposit/withdrawal alternatives. We offer you considerable sporting activities wagering choices, masking both local in inclusion to worldwide occasions. 1Win gives markets for cricket, football, and esports with numerous probabilities types. Players could spot wagers just before fits or in real-time. To start betting about cricket in addition to other sports, a person just want to become in a position to sign-up and downpayment. Any Time a person acquire your current profits in add-on to want to pull away all of them to become in a position to your own financial institution card or e-wallet, an individual will likewise need to end upwards being in a position to proceed by indicates of a confirmation process.
At 1win, a person will have access to many associated with transaction methods regarding deposits in add-on to withdrawals. The Particular efficiency of the cashier is usually the particular exact same in the particular net variation plus within the mobile application. A list regarding all the particular solutions by indicates of which often you may create a deal, you could notice in the cashier and in typically the table under.
Right After the particular wagering, you will just have to wait around with respect to 1win the particular results. The dealer will package a few of or 3 cards to every aspect. A section with complements that usually are slated with consider to the particular long term. In any sort of case, a person will have got period to consider more than your upcoming bet, evaluate the prospects, dangers plus prospective rewards.
]]>