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);
Successful bankroll supervision and responsible gaming procedures will not merely enhance your knowledge nevertheless likewise lead to end up being in a position to a more secure plus more pleasurable quest. While presently there may possibly not necessarily be a dedicated mobile software, the cell phone site gives a great excellent video gaming encounter. Acquire all set regarding a good unmatched gambling quest at California king 777 On Range Casino, exactly where typically the excitement, satisfying additional bonuses, plus the particular opportunity regarding huge benefits are all at your fingertips. Sure, Queen 777 Casino provides client support by means of reside conversation, email, in inclusion to phone, guaranteeing fast support. At queen777, we’ve obtained a few regarding the particular best instant-win online games in typically the Israel. We All make sure of which each sport provides highest enjoyment in inclusion to the chance in order to win big.
We’ll delve into their popularity, sign up method, online game assortment, bonus deals, protection steps, and even more. Within the earlier, fish-shooting online games may only become performed at supermarkets or buying facilities. Nevertheless, with typically the introduction associated with queen777, you will zero longer require to end up being capable to invest time playing fish-shooting video games immediately. A mobile phone or pc with an internet connection will allow a person to pleasantly check out the particular great oceanic world. Queen777 On The Internet Online Casino Philippines will be also adopting the future of online purchases by offering typically the convenience plus security of cryptocurrencies to be in a position to their participants inside typically the Philippines. Between the cryptocurrencies approved usually are Bitcoin in addition to Ethereum (ETH), together along with a range of others.
You could entry the application down load webpage through the particular QUEEN777 App area about our website. Simply click the particular get button that matches to your current mobile functioning method. The enrollment method is simple plus may become completed inside merely 12 minutes. Follow these step-by-step instructions in order to produce your own accounts in add-on to start actively playing. Our Own pleasant support team is usually all set to end upward being in a position to aid you along with virtually any queries or issues. Sociable casino video games are usually only designed for enjoyment functions in add-on to have got totally simply no effect about virtually any possible future success within wagering along with real money.
When an individual or a person a person realize needs aid with wagering addiction, we’ve put together a list regarding sources in purchase to supply support. They likewise provide a selection regarding continuing marketing promotions plus commitment plans, making sure of which every visit will be satisfying. This understanding will allow you in buy to create typically the most associated with these kinds of products in inclusion to possibly turn these people into earnings. Account verification is usually a standard treatment at Full 777 Casino, contributing to be able to the platform’s dedication in purchase to safety. Furthermore, the particular game features the appearance regarding creatures for example mermaids, crocodiles, golden turtles, employers, plus more. Whenever an individual successfully shoot these creatures, the particular quantity of prize cash a person get will be much higher compared to typical fish.
Explore the most recent features, special offers, and sport emits of which could raise your gaming encounter. By keeping yourself inside the particular loop, you’ll always be all set to become able to jump into something new in inclusion to fascinating. Full 777 Online Casino truly lifestyles upwards to the name simply by providing a royal gambling amusement encounter. With the amazing game selection, gratifying additional bonuses, plus useful interface, it’s no ponder the purpose why Full 777 stands out in typically the on the internet video gaming industry.
Delightful to be capable to the exciting planet regarding Queen777, a premier on-line on collection casino famous for the considerable variety associated with gambling experiences. Wedding Caterers mainly in purchase to gamers inside the particular Israel, Queen777 provides designed away a market for itself being a hub of amusement in inclusion to excitement. Sign Up For us as all of us explore what makes Queen777 a standout selection for online casino lovers around typically the region. Queen777 is a famous on-line gambling platform that provides a great extensive selection regarding casino online games regarding gamers to appreciate.
Within Just a couple of minutes, gamblers could instantly bet plus pull away cash to become in a position to their particular financial institution bank account in case they will win. Credit Score card withdrawals may get 3-5 enterprise times, whilst e-wallets typically method within just 24 hours. Cryptocurrency dealings are usually typically typically the swiftest, together with cash frequently obtainable inside a couple of several hours. Our customer assistance staff is usually available 24/7 to become capable to aid an individual each action regarding typically the approach. Our withdrawal support is usually created to ensure a soft in add-on to easy process.
Whether seasoned within online casino characteristics or just starting, Extremely Ace claims to end upwards being in a position to maintain a person about the particular edge associated with your current seat along with exciting rewards. A Single associated with typically the biggest positive aspects of installing the Queen777 app will be typically the versatility to play your own preferred video games queen777 casino login anytime, anyplace. Regardless Of Whether you’re commuting, taking a split, or relaxing at house, the particular application allows a person to access the complete variety associated with games on your own cellular system, guaranteeing without stopping enjoyment.
The Particular platform’s determination to dependable gambling had been likewise noted, providing tools such as downpayment limits plus self-exclusion choices to end upwards being capable to advertise more healthy wagering behaviors. Queen777 holds like a trustworthy on the internet on collection casino brand that continues in buy to entice consumers throughout Southeast Asia. Identified for the secure atmosphere reasonable perform program and engaging variety of on line casino online games Queen777 provides swiftly gained focus amongst customers seeking trustworthy on the internet gambling providers.
Our Own collection associated with instant-win video games is produced to end up being able to keep your current adrenaline pumping. These Types Of games enable you to check your current good fortune, scrape away from a ticketed, and reveal your current fate. Unique thanks in order to Alexander in add-on to Tatiana Leonov with respect to offering the particular glider for checks. In Case the wifi is usually poor, below a few night clubs, downloading the app will end upward being a great deal more difficult than usual.
Regardless Of Whether you’re a experienced participant or even a newcomer, California king 777 On Range Casino encourages an individual to become able to sign up for the particular world regarding royalty and enjoy in typically the best games in addition to bonuses. In typically the world associated with online internet casinos, Queen 777 Online Casino stands out as a regal plus thrilling location for each novice plus experienced gamblers. To guarantee safety, all of us uses advanced encryption technological innovation in buy to protect your current personal plus economic info. Additionally, a verification method is usually needed just before your first disengagement in order to ensure accounts legitimacy, providing further security against fraud.
Sign Up now plus begin upon a great fascinating gambling quest together with California king 777 On Range Casino. Yes, MaxWin makes use of advanced encryption technological innovation to safeguard your current personal and economic information. All Of Us likewise promote accountable video gaming plus offer equipment to assist you manage your gaming conduct. MaxWin provides a nice delightful bonus for brand new participants, which usually may possibly consist of down payment match bonus deals, free of charge spins, and a whole lot more. To trigger the get procedure, go to the recognized California king 777 On Line Casino web site in add-on to navigate in order to typically the download section. Adhere To the particular provided guide in purchase to down load plus install the software program on to your own system.
The program utilizes SSL (Secure Outlet Layer) security, which often guarantees that will all data sent between your current gadget and Queen777’s machines is secure and safeguarded from interception. This Specific security includes all private in add-on to monetary info, making each deal as secure as on the internet banking. Queen777 prides itself about supplying a seamless plus intuitive customer software throughout both pc in inclusion to cellular systems. The Particular desktop computer variation regarding typically the online casino provides a clean, easy-to-navigate knowledge, with online games perfectly categorized and obtainable.
Together With the user friendly interface and fascinating gameplay, it offers come to be a well-known option regarding gambling fanatics about typically the globe. Regardless Of Whether an individual’re a expert participant or possibly a beginner in order to typically the planet of on the internet casinos, queen777 offers anything regarding every person. Through classic table video games to end upward being capable to advanced slot device games, presently there’s zero lack associated with enjoyment options about this system. Gamers of all levels could discover some thing to end upwards being able to appreciate at queen777, making it a leading choice in the competitive landscape regarding online betting. Whether an individual’re an informal game player searching with regard to some enjoyable or even a severe player striving with respect to huge wins, queen777 gives the equipment, resources, in inclusion to assistance to make each gaming session enjoyable and gratifying.
Queen777 will be a well-known on-line betting platform that will provides a broad variety associated with fascinating on collection casino games with consider to gamers to take enjoyment in. Along With its user friendly software, nice special offers, in inclusion to topnoth customer support, queen777 has rapidly come to be a preferred amongst online bettors. Inside this particular content, we all will get a better look at just what models queen777 aside from additional on the internet internet casinos plus why it’s well worth examining out.
Spin And Rewrite apart as you discover delightful candies emblems, coming from lollipops to chocolate pubs, mixed with tempting features such as totally free spins and multipliers. Whether you’re a sweet-tooth or simply really like a practical online game, Candy Candy will be designed for unlimited enjoyment plus nice rewards. To help to make gambling simpler with respect to our gamers to end upwards being in a position to become an associate of within on the enjoyable at QUEEN777, we’ve made a great software available for each iOS and Google android.
Regardless Of Whether you’re inside typically the disposition for high-stakes table games or like the instant gratification of scrape credit cards, Full 777 On Collection Casino offers thoughtfully curated a gambling haven for you. Driven by famous software suppliers, their own video games provide stunning graphics, smooth game play, and, many significantly, fair results. It’s a testament to Queen 777 Casino’s determination to end upward being capable to providing a royal gambling encounter. Regarding players seeking an immersive, current knowledge, Queen777 survive online casino brings the particular enjoyment associated with a land-based online casino straight to be able to your current display screen.
As soon as you go to typically the web site, you’ll become welcomed simply by a creatively spectacular user interface that will reflects the casino’s regal concept. Typically The website will be intuitively designed, permitting for effortless routing and quick entry to numerous gambling choices. Knowledge the particular ambiance of a land-based casino from typically the comfort and ease of your own residence with queen777’s reside online casino online games. Interact along with professional retailers in addition to additional gamers in current as an individual indulge inside classics like blackjack, roulette, plus baccarat.
]]>