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);
188bet cái tên không còn xa lạ với anh em đam mê cá cược thể thao trực tuyến. Nền tảng cá cược này thuộc CyberArena Ltd, theo giấy phép công bố hợp lệ. Với hơn seventeen năm có mặt, hiện được cấp phép và quản lý bởi Government regarding the Autonomous Isle of Anjouan, Marriage of Comoros. Nhà cái hợp pháp này nằm trong Top a few nhà cái hàng đầu nhờ vị thế và uy tín lan tỏa.
Apart coming from sports matches, a person could select additional sports activities like Basketball, Golf, Horses Riding, Baseball, Ice Dance Shoes, Golfing, etc. Any Time it will come to bookies covering the market segments around The european countries, sports activities betting will take quantity one. Typically The large range regarding sports activities, institutions and occasions can make it achievable with regard to every person along with virtually any passions to end upward being capable to enjoy putting bets about their own favorite groups in addition to players. Thankfully, there’s a great large quantity of betting choices plus activities to employ at 188Bet.
Funky Fruits characteristics humorous, amazing fruit about a exotic seaside. Icons contain Pineapples, Plums, Oranges, Watermelons, in inclusion to Lemons. This Particular 5-reel, 20-payline progressive goldmine slot device game rewards participants together with higher link 188bet payouts with respect to coordinating more regarding the similar fruit symbols. Ứng dụng sẽ tự động cài đặt và hiển thị trên di động của bạn.
Their Particular M-PESA the use is a significant plus, and the consumer assistance is top-notch. Within the 188Bet review, we identified this particular terme conseillé as 1 of the modern and most thorough wagering sites. 188Bet offers a good assortment of video games along with thrilling odds plus enables an individual employ higher limits for your wages. We believe that bettors won’t have any uninteresting times making use of this specific system. From soccer in addition to hockey to playing golf, tennis, cricket, and more, 188BET includes more than some,1000 tournaments in add-on to offers 12,000+ activities each and every 30 days.
Since 2006, 188BET has turn to be able to be one of the particular the vast majority of respected brand names within online gambling. Whether an individual are a expert bettor or merely starting out there, all of us provide a safe, protected in inclusion to fun environment to be able to enjoy several betting choices. Several 188Bet testimonials possess admired this system function, in add-on to all of us believe it’s an excellent asset with regard to all those fascinated within live betting. Whether a person possess a credit credit card or use additional systems such as Neteller or Skrill, 188Bet will totally help an individual. The Particular lowest deposit amount will be £1.00, in addition to you won’t become charged any kind of costs regarding funds build up. On The Other Hand, a few strategies, such as Skrill, don’t allow you in order to make use of numerous accessible marketing promotions, which includes the 188Bet pleasant added bonus.
In Case you are a large tool, typically the most correct deposit quantity drops in between £20,1000 and £50,1000, based on your own technique. Its primary character is usually a giant who causes volcanoes to be able to erupt together with cash. This Particular 5-reel plus 50-payline slot equipment game offers bonus features just like piled wilds, spread icons, in addition to progressive jackpots. Typically The vibrant gem symbols, volcanoes, and the scatter sign displayed by a huge’s hand total regarding coins put in purchase to the particular visual attractiveness.
188Bet fresh consumer offer you products modify regularly, ensuring that these kinds of choices conform to become in a position to various situations plus occasions. There are specific products accessible regarding numerous sports activities alongside poker plus on collection casino bonus deals. There usually are a lot of marketing promotions at 188Bet, which often shows the great interest of this specific bookmaker to bonuses. A Person may expect attractive offers about 188Bet that motivate an individual in purchase to use the particular program as your best wagering choice. 188BET provides the the majority of adaptable banking alternatives inside typically the market, ensuring 188BET fast plus secure deposits in addition to withdrawals.
Có trụ sở tại Vương quốc Anh và được tổ chức Region regarding Person Gambling Direction Commission cấp phép hoạt động tại The island of malta. I am satisfied together with 188Bet plus I suggest it in order to some other on-line betting fans. Soccer will be by simply significantly the particular most popular product on the listing of sports gambling websites. 188Bet sportsbook reviews show that will it substantially covers soccer.
There’s a good on-line casino with more than 800 video games from famous application companies just like BetSoft and Microgaming. In Case you’re serious inside the survive on collection casino, it’s also accessible about typically the 188Bet website. 188Bet helps additional gambling activities that appear up during typically the 12 months.
A Person could employ sports fits through various institutions plus tennis plus golf ball matches. Typically The 188Bet delightful added bonus options usually are only accessible to become capable to customers from specific nations around the world. It consists associated with a 100% bonus associated with up to be able to £50, plus an individual need to downpayment at least £10. As Compared To some other betting programs, this particular bonus is usually cashable in inclusion to needs betting of 30 occasions. Remember that will typically the 188Bet odds you make use of to get eligible for this specific offer need to not really end upward being fewer as compared to two.
Spread symbols trigger a giant bonus round, where earnings may multiple. Consumers are usually the main concentrate, in add-on to different 188Bet reviews recognize this state. An Individual can make contact with typically the help staff 24/7 using the particular on the internet assistance conversation function plus solve your own issues quickly. As well as, 188Bet offers a dedicated poker program powered simply by Microgaming Holdem Poker Community. An Individual can locate totally free tournaments plus some other types together with low plus large levels. A Person may swiftly transfer money to end up being able to your bank accounts using the exact same transaction strategies for deposits, cheques, in addition to lender exchanges.
Let it be real sports occasions that curiosity a person or virtual video games; typically the enormous obtainable variety will satisfy your anticipations. 188BET is a name identifiable along with development in addition to stability in typically the world regarding online video gaming plus sports betting. As a Kenyan sporting activities lover, I’ve recently been loving my knowledge along with 188Bet. They provide a large selection associated with sports in inclusion to wagering markets, aggressive odds, in inclusion to very good design and style.
Incomplete cashouts only take place any time a lowest product stake continues to be on either aspect of the shown range. Furthermore, typically the special indicator an individual see upon activities that assistance this specific feature shows the last amount that will returns in order to your own account in case an individual cash out. Just About All a person want in buy to carry out is usually click on the “IN-PLAY” case, see typically the newest live occasions, plus filtration system typically the effects as each your own choices. Typically The screen updates in real time and provides you together with all typically the details you want for each complement. The 188Bet web site supports a active survive wagering characteristic within which usually you can almost usually observe a great continuous celebration.
It also requires a person for a unique username in add-on to an recommended pass word. In Order To create your accounts safer, an individual need to likewise put a security query. Take Pleasure In unlimited procuring on Online Casino in add-on to Lotto sections, plus opportunities in purchase to win upwards to become in a position to 188 mil VND together with combination wagers. We’re not really merely your current go-to location regarding heart-racing casino video games…
]]>
Our Own immersive online on line casino knowledge is usually developed to bring typically the greatest regarding Las vegas in buy to a person, 24/7. We take great pride in yourself about giving a great unparalleled choice associated with video games in inclusion to activities. Whether Or Not you’re excited concerning sporting activities, online casino online games, or esports, you’ll find endless opportunities in purchase to enjoy and win.
This Particular 5-reel, 20-payline intensifying jackpot slot machine game benefits players along with increased payouts with regard to complementing a great deal more associated with the similar fresh fruit emblems. Spot your current gambling bets right now and enjoy upwards to 20-folds betting! Chọn ứng dụng iOS/ Android os 188bet.apk để tải về.
At 188BET, we all mix above 12 many years associated with experience together with latest technological innovation to give a person a trouble free of charge and enjoyable gambling experience. Our Own global company existence guarantees of which you https://188bet-casino-bonus.com can perform with assurance, understanding you’re betting along with a trustworthy in add-on to financially solid terme conseillé. As esports develops internationally, 188BET stays ahead simply by giving a extensive variety of esports gambling choices. A Person may bet about famous games such as Dota two, CSGO, plus Little league of Legends whilst enjoying added game titles like P2P online games and Species Of Fish Shooting. Experience typically the enjoyment associated with casino games from your own chair or your bed. Dive in to a large range associated with video games which includes Black jack, Baccarat, Different Roulette Games, Holdem Poker, plus high-payout Slot Device Game Video Games.
Considering That 2006, 188BET offers become one associated with typically the most highly regarded manufacturers in online gambling. Certified and controlled by simply Isle of Guy Betting Direction Commission rate, 188BET is 1 associated with Asia’s top bookmaker with international existence in addition to rich history regarding excellence. Whether a person are usually a experienced gambler or merely starting out there, we all offer a safe, secure and enjoyable surroundings in purchase to take pleasure in many wagering choices. Funky Fruits characteristics amusing, wonderful fresh fruit on a exotic beach. Emblems include Pineapples, Plums, Oranges, Watermelons, plus Lemons.
We’re not merely your first destination with consider to heart-racing on line casino video games… 188BET is usually a name synonymous together with advancement plus stability in typically the globe regarding on-line gambling and sports gambling. Understanding Sports Wagering Markets Football gambling market segments usually are different, offering opportunities to become in a position to bet on each aspect associated with the sport. Explore a huge array regarding online casino online games, which includes slot device games, live supplier games, poker, in inclusion to even more, curated with respect to Thai players. In Addition To that, 188-BET.com will end upwards being a companion to end upward being able to generate high quality sports betting material regarding sports bettors that concentrates about sports wagering regarding suggestions and the situations of European 2024 matches. Indication upwards today when you want to become able to sign up for 188-BET.apresentando.
Ứng dụng sẽ tự động cài đặt và hiển thị trên di động của bạn.
]]>