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);
Inside tournaments, live betting entails numerous complements in the household Sri Lankan championship, Winners Little league, and World Cup soccer and cricket tournaments. Likewise, Mostbet provides a great opportunity to view the fits within real period by means of hd streaming while you can place live bets. However, some players have brought up issues about the particular reliability regarding typically the Curacao permit, wishing for stricter regulating oversight. Others have got pointed out holds off inside typically the confirmation process, which often could end upwards being inconvenient whenever trying in purchase to withdraw profits.
An Individual could choose the most convenient method regarding a person, whether it is bank cards, e-wallets or cryptocurrency. Between the particular obtainable options⁚ Visa, Mastercard, Mir cards, e-wallets QIWI, WebMoney, Yandex Funds, along with cryptocurrencies Bitcoin, Ethereum plus Litecoin. Typically The lowest deposit quantity will depend upon the particular approach you select, but will be typically one hundred rubles or the equivalent in another currency. Gamers may get involved in Dream Sports, Fantasy Golf Ball, in add-on to additional sporting activities, where these people write real-life sports athletes to contact form their own staff. The Particular performance associated with these participants inside actual video games impacts the fantasy team’s score. Typically The much better the athletes perform in their particular individual real-life fits, the particular more factors the particular fantasy group earns.
General, the particular platform provides managed to be in a position to entice a loyal customer base within Nepal, incorporating enjoyment plus ease. Mostbet dream sports is usually a new kind of betting where the particular gambler will become a kind associated with supervisor. Your Own task is usually in purchase to set up your current Fantasy staff from a selection of participants through various real life clubs. To End Upwards Being Able To produce this sort of a staff, a person usually are provided a certain price range, which a person invest upon purchasing players, and the particular larger the particular ranking of the particular participant, typically the more expensive he or she is. Within the even more as compared to 10 years associated with our existence, we all have introduced several jobs within just the particular gambling options all of us provide to end upward being in a position to players.
The app is usually regularly updated to become in a position to maintain the particular maximum top quality for gamers. Along With their easy set up in inclusion to useful design, it’s typically the ideal answer regarding individuals who need the particular casino at their particular disposal whenever, everywhere. Mostbet BD is usually not just a gambling web site, these people are a group regarding professionals who else proper care concerning their own customers.
Mostbet offers appealing bonuses and special offers, like a First Down Payment Bonus in add-on to free bet provides, which give participants a great deal more options in order to win. Together With a range regarding protected transaction procedures plus fast withdrawals, participants can handle their particular cash properly plus quickly. Financial Institution Exchanges permitting expedient finance transportation straight coming from members’ accounts.
The Particular terme conseillé continuously evolves in addition to enhances the system together with revolutionary characteristics important with respect to lucrative sports activities wagering. As regarding 2021, it provides thorough services that Bangladeshi gamers require for a great optimal wagering encounter. Mostbet prioritizes accountable wagering practices in order to make sure a secure and pleasant experience for all users. The Particular system offers downpayment, reduction, plus period limits to preserve control more than gaming activities. Additionally, it provides self-exclusion programs plus assets for persons needing expert assistance.
Therefore, simply no issue when a person are a secure or extreme gambler, Mostbet Pakistan could end upward being the best choice with consider to an individual. The Particular bookmaker helps several languages, including English, Nepali, Hindi, and www.mostbet-club-eg.com 20+ others. Mostbet offers sporting activities betting, on line casino games, reside casino, plus esports wagering, together with reliable deal equipment, 24/7 customer help, plus a contemporary mobile application. Through typically the simplicity associated with sign up to thrilling special offers just like typically the 125PRO promo code, Mostbet provides several offers regarding users to become a part of in add-on to appreciate their particular program. The Particular addition regarding mobile apps regarding Android plus iOS improves availability, guaranteeing players may indulge together with their preferred online games anytime, everywhere.
Fresh users who registered applying typically the ‘one-click’ method usually are suggested to up-date their particular default pass word and link a good email for recuperation. Aviator, Sweet Bonanza, Gates regarding Olympus and Lightning Different Roulette Games are typically the most well-known between players. Proceed in buy to the particular site or software, click “Registration”, select a approach in inclusion to get into your current private info in inclusion to validate your current accounts. Support will be provided in French, which usually is usually specifically hassle-free for regional consumers. The Particular average reaction time by way of conversation will be 1-2 mins, in inclusion to through e-mail — upwards to become able to 12 hours about weekdays and upward to 24 hours about week-ends.
]]>
We All firmly advise all consumers to ensure they fulfill typically the legal gambling era within their legal system and to end up being in a position to acquaint themselves along with local laws and regulations and regulations relevant in order to online wagering. Given typically the habit forming characteristics of gambling, if an individual or somebody an individual know is usually grappling with a wagering dependency, it is recommended to seek out help through mostbet apk an expert corporation. Your Current employ of our own site indicates your current acceptance regarding the conditions and circumstances. Dependable gambling equipment empower consumers along with handle mechanisms that will market healthful gaming routines. Deposit restrictions, session timers, and self-exclusion options provide safety nets that guarantee entertainment remains to be positive plus lasting. Specialist assistance clubs trained within dependable gambling practices offer assistance when needed.
The Risk-Free Wager promotion gives a security web, returning 100% regarding lost buy-ins with x5 playthrough requirements for three-event mixtures with odds ≥1.four. Mostbet casino stands like a towering monument in the particular electronic digital gambling landscape, exactly where dreams collide along with actuality inside the many spectacular style. Typically The application gives complete accessibility to become in a position to Mostbet’s wagering plus casino functions, making it simple to end up being able to bet plus handle your own bank account upon typically the move. Mostbet provides daily in addition to in season Illusion Sports institutions, enabling individuals in order to choose between long-term strategies (season-based) or short-term, every day tournaments. The Particular platform likewise regularly holds fantasy sports tournaments along with interesting reward swimming pools for the leading groups.
There are usually likewise strategic choices like Problème Betting, which balances the particular probabilities simply by offering 1 team a virtual edge or downside. In Case you’re interested in guessing complement data, the Over/Under Wager allows an individual gamble about whether the complete points or goals will go beyond a particular number. Bank Account verification helps to protect your accounts coming from scams, guarantees you usually are associated with legal age in buy to bet, and complies with regulatory standards.
Whether you’re using Android os or iOS, typically the application gives a ideal way to remain employed with your own bets in inclusion to video games while upon the move. Mostbet provides on-line slots, stand online games, survive casino, crash video games such as Aviatrix, plus virtual sports from best suppliers such as NetEnt, Practical Perform, Advancement, plus Play’n GO. The registration process is thus basic plus a person could head above to be capable to typically the guide on their primary webpage if you usually are puzzled. I mostly played typically the on line casino nevertheless you could furthermore bet on numerous sports activities choices given by all of them.
This is usually a regular treatment that will safeguards your own bank account through fraudsters plus rates upward succeeding obligations . After verification, drawback requests usually are prepared within just seventy two hrs, but consumers take note that will by way of cell phone repayments, funds frequently occurs quicker – in hrs. The articles of this particular web site is created regarding persons older 18 in add-on to previously mentioned. All Of Us emphasize the particular significance of engaging in dependable perform and sticking to private limitations.
This structure is of interest to end upwards being in a position to bettors who appreciate merging multiple gambling bets into 1 gamble in add-on to seek out greater pay-out odds coming from their particular forecasts. One associated with the outstanding features is usually the particular Mostbet Casino, which includes traditional online games like roulette, blackjack, plus baccarat, and also many variations to keep the game play refreshing. Slot fanatics will find hundreds regarding titles from top software program providers, showcasing varied styles, bonus features, and various volatility levels. Participants that appreciate the adrenaline excitment associated with real-time actions can decide with respect to Survive Betting, placing wagers on events as these people happen, together with constantly modernizing probabilities.
Create sure a person have got access in buy to your own account just before initiating the particular deletion process. Mostbet supports Australian visa, Mastercard, Skrill, Neteller, EcoPayz, cryptocurrencies, and regional strategies depending about your current area. Build Up are usually typically quick, while withdrawals vary dependent upon the particular technique. Indeed, Mostbet On Range Casino works below a appropriate video gaming certificate issued by simply the Federal Government of Curacao, guaranteeing conformity together with international regulations and fair enjoy requirements.
The Particular financial entrance starts such as a cherish chest of opportunities, helpful varied global repayment preferences along with remarkable flexibility. Mostbet registration unlocks access in order to extensive transaction ecosystems that will span conventional banking, electronic wallets and handbags, in addition to cutting-edge cryptocurrency options. The ruleta on-line knowledge captures the particular elegance associated with Mucchio Carlo, where ivory tennis balls dance throughout mahogany wheels inside mesmerizing patterns. Western european, United states, plus French variations provide distinct flavors of enjoyment, each and every rewrite transporting typically the excess weight associated with concern plus the promise regarding spectacular advantages. Champions League times change in to epic battles wherever barcelona legends deal with away from against real madrid titans, whilst uefa winners league activities turn in order to be poetry inside movement. Typically The platform’s coverage extends in buy to premier league showdowns, exactly where liverpool, manchester united, chelsea, and atletico madrid generate occasions that indicate through eternity.
]]>
MostBet.possuindo is licensed and the established cell phone app provides secure in add-on to secure online wagering within all nations most bet where the particular betting platform could be seen. You can down load typically the MostBet cell phone app about Google android or iOS devices when you register. Typically The software is usually totally free in buy to get in add-on to may be accessed by way of this particular webpage. Locate out how to down load the particular MostBet mobile app on Android or iOS.
MostBet.apresentando will be accredited inside Curacao in addition to offers online sports activities wagering and gambling in purchase to participants inside many different countries around the world. Just About All components on this particular web site are accessible beneath certificate Imaginative Commons Attribution 4.0 Worldwide.