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);
In Addition, a person could obtain a bonus for downloading it the software, which will end upwards being automatically awarded 1winnonline.com to be able to your own account after logon.
The 1win software permits customers in buy to location sports activities bets in add-on to perform online casino video games straight through their particular mobile products. Fresh gamers can profit through a 500% welcome bonus up to be capable to 7,150 regarding their own 1st several debris, along with stimulate a unique offer you with respect to installing the particular mobile app. The 1win application gives consumers along with the ability to bet about sports activities and appreciate on line casino online games on the two Google android in add-on to iOS devices. The Particular cell phone application provides the complete range of features accessible on the web site, without any constraints . A Person can usually get typically the most recent version regarding typically the 1win software coming from the particular established website, plus Android customers could set up programmed updates. Fresh consumers who sign up via the particular app can claim a 500% delightful bonus upward in purchase to Several,one 100 fifty about their particular 1st several build up.
This is a fantastic function for sports betting lovers. To Become Capable To take away funds inside 1win a person require to end up being capable to adhere to several actions. First, an individual need to sign inside to become in a position to your current bank account on the 1win site plus proceed to be in a position to the “Withdrawal of funds” webpage. Then pick a withdrawal method of which is easy with regard to a person plus enter the quantity you want in order to withdraw. In inclusion, signed up customers usually are capable to access the particular lucrative special offers in addition to bonus deals through 1win.
In add-on, thanks to contemporary technologies, the particular cell phone software will be completely optimized regarding any type of gadget. A Single could quickly create a good account with 1win indication up inside typically the the vast majority of easy and protected method. In typically the next area, we all manual you by indicates of a step by step process by indicates of enrollment therefore of which a person could easily register and obtain began about typically the web site. It is quite easy in purchase to complete typically the procedure, in add-on to we try to make the 1win sign up as user-friendly as feasible. Despite the particular challenges of the modern day market, 1Win skilfully adapts to users by offering positionnement, a selection associated with repayment strategies in addition to round-the-clock support.
Register at 1win together with your current e mail, phone amount, or social networking bank account in merely two moments. The Particular official internet site has a special style as demonstrated in the particular pictures under. When the particular web site looks different, depart typically the website immediately in inclusion to go to typically the initial system. Pick the 1win login alternative – by way of e mail or telephone , or through social media. This Particular will be a reliable casino that will be absolutely really worth a try. Indeed, occasionally presently there had been problems, nevertheless typically the assistance services usually fixed them rapidly.
The crash game features as their primary personality a helpful astronaut who intends to end upwards being capable to discover the straight distance with an individual. Angling is a instead distinctive genre of on collection casino video games through 1Win, exactly where a person have in order to virtually get a species of fish away regarding a virtual sea or water to become capable to win a funds award. Keno, wagering sport played along with cards (tickets) bearing figures inside squares, generally from just one to be capable to 70.
Typically The game provides wagers about typically the effect, color, suit, exact benefit of the next cards, over/under, shaped or set up card. Prior To every present hand, a person can bet on the two existing plus upcoming occasions. With Respect To the particular benefit associated with example, let’s consider a number of versions together with different odds. In Case they will benefits, their particular 1,500 is multiplied by simply two and will become 2,1000 BDT. Inside the particular end, 1,1000 BDT is usually your current bet in inclusion to an additional just one,1000 BDT is usually your own net profit. Create positive a person came into the promo code during sign up in inclusion to fulfilled the deposit/wagering specifications.
Login difficulties can also be brought on simply by bad internet online connectivity. Users experiencing network problems may possibly find it difficult in buy to log within. Maintenance guidelines frequently include examining internet contacts, changing to a even more steady network, or fixing local connection issues. Quickly access in add-on to discover continuous marketing promotions at present obtainable to be in a position to an individual in purchase to get benefit regarding different offers. For individuals who else take pleasure in typically the method plus talent involved within holdem poker, 1Win provides a devoted holdem poker platform. Within Spaceman, typically the sky is usually not necessarily typically the limit for all those that want in purchase to proceed actually more.
Once registered, consumers may record inside firmly coming from virtually any device, together with two-factor authentication (2FA) obtainable for extra security. Confirmation ensures typically the most stringent safety regarding the program and therefore, all typically the consumers may really feel protected inside a gambling surroundings. Bets usually are available the two just before typically the start regarding complements in addition to in real period. The Particular Reside setting will be specially hassle-free — probabilities are usually updated instantly, in addition to you may catch the pattern as typically the online game advances. 1Win guarantees openness, safety and efficiency of all monetary transactions — this will be one of typically the factors exactly why thousands regarding gamers rely on the particular system.
Record into your chosen social media system and permit 1win access to be in a position to it regarding personal details. Create sure that every thing introduced through your social media marketing accounts is imported correctly. Yes, the majority of significant bookies, which include 1win, provide survive streaming regarding wearing occasions.
Live talk provides immediate support with respect to sign up and sign in concerns. At 1Win, cricket wagering is not simply a section, but a whole planet with lots associated with markets and tournaments. A Person could predict not merely typically the success, nevertheless likewise typically the number regarding operates, wickets, person statistics and a lot more. Typically The collection is continually up-to-date https://1winnonline.com, plus bets usually are approved about typically the clock in the particular Reside area. Use filter systems simply by sports activity plus competition to end upwards being in a position to quickly locate the occasions you want.
Whenever starting their own trip through area, the particular personality concentrates all typically the tension and requirement by means of a multiplier of which tremendously increases the particular earnings. This Specific game is very related to end upwards being able to Aviator, but provides a good updated design and slightly different methods. It serves like a great alternate in case a person are usually bored together with the regular Aviator.
I have got simply optimistic feelings from typically the knowledge regarding enjoying right here. 1win stands apart with having a individual PERSONAL COMPUTER app regarding Windows personal computers of which you could get. That Will method, a person may accessibility the particular platform without getting in purchase to open up your current internet browser, which often would likewise make use of less internet plus operate more secure. It will automatically sign you directly into your bank account every single moment right after you record within once, plus an individual can use typically the exact same functions as always.
Putting Your Signature On within will be smooth, using the particular social media accounts with regard to authentication. The 1Win apk provides a seamless plus intuitive user knowledge, ensuring you may enjoy your current favored games plus gambling marketplaces anyplace, at any time. Bank Account confirmation is a important action that boosts protection and guarantees complying together with worldwide betting rules.
Within the particular world’s biggest eSports competitions, typically the number regarding obtainable events within a single match up could go beyond 50 various alternatives. Wagering about cybersports offers become significantly popular more than the past few yrs. This will be because of to be capable to both typically the rapid growth regarding typically the internet sporting activities industry being a complete and the particular growing amount regarding wagering enthusiasts about different on the internet games.
]]>
In any kind of circumstance, you will have got moment in buy to consider more than your own upcoming bet, examine the leads, hazards and possible rewards. Right Now There are a bunch associated with complements accessible for gambling every day time. Keep tuned to end upward being in a position to 1win for updates so you don’t miss out upon virtually any encouraging betting possibilities.
It tends to make wagering a lot more helpful within the particular lengthy length. 1win likewise offers additional promotions outlined about the particular Totally Free Cash page. Right Here, participants could consider edge regarding additional possibilities for example tasks plus everyday promotions. Sports bettors could furthermore get edge regarding marketing promotions. Every day time, customers may place accumulator wagers plus boost their own probabilities upward to end upward being in a position to 15%.
This Particular is the particular 1winproci copier case until typically the collection of occasions a person possess picked is usually accomplished. Fans associated with eSports will likewise become happily surprised by the large quantity of betting options. At 1win, all typically the most popular eSports disciplines are usually waiting regarding a person. Stand tennis offers pretty large chances actually regarding typically the most basic outcomes.
If a person cannot sign inside because regarding a neglected pass word, it will be possible to become in a position to reset it. On typically the sign-in web page, click the particular ‘Forgot your current password? Enter your own signed up e-mail or cell phone amount to become in a position to receive a totally reset link or code. Follow typically the provided instructions to arranged a brand new password. In Case problems keep on, make contact with 1win consumer support for support via live chat or email.
This Particular enables the two novice and experienced players to discover suitable furniture. Additionally, typical tournaments provide members typically the possibility in purchase to win substantial awards. Probabilities vary inside current based about what happens in the course of the match. 1win offers functions for example reside streaming and up-to-the-minute data. These Types Of aid gamblers create quick decisions about current activities inside the online game. 1win gives a unique promo code 1WSWW500 that will provides added rewards in order to fresh and current participants.
Cash acquired as portion regarding this specific promotional may immediately end upward being spent about some other wagers or withdrawn.
Their Particular regulations may possibly differ somewhat from each some other, but your current task inside virtually any circumstance will end upward being to end upwards being in a position to bet upon a single amount or a mixture of numbers. Following gambling bets are usually approved, a roulette tyre together with a ball revolves to become capable to determine the earning quantity. If an individual such as thoughts games, be positive in order to perform blackjack. The primary goal of this specific online game is to beat typically the dealer. Nevertheless it’s important to end upwards being in a position to have simply no a great deal more compared to twenty-one details, otherwise you’ll automatically lose. If a single regarding these people is victorious, the particular award money will end up being the particular next bet.
On typically the proper aspect, there is a betting slide with a calculator and open up wagers regarding effortless tracking. A wagering alternative regarding knowledgeable players that realize exactly how to rapidly evaluate the particular occasions happening inside matches and help to make correct selections. This Particular section includes simply those matches that have previously started.
Not Necessarily many matches are usually accessible regarding this particular sport, yet you can bet on all Main League Kabaddi events. Inside every match up for wagering will be obtainable regarding a bunch associated with results along with large odds. From it, an individual will obtain extra earnings with respect to each and every prosperous single bet along with odds of three or more or more. The profits an individual obtain in the particular freespins move in to the primary balance, not really the reward balance.
]]>