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);
Bonus Deals with regard to new clients or referrals must end upward being claimed inside one day associated with the register day. We will offer weekly added bonus or additional reward will be annouced moment to time .Join the group regarding even more advertising. Click On on cash application tabs n click on on telegram key upon the particular top regarding the cashapp web page to become capable to become an associate of group .
Successful bank roll management plus responsible gambling practices will not just improve your experience but also lead in purchase to a less dangerous in add-on to a great deal more enjoyable journey. Need To you experience virtually any questions or worries in the course of your current California king 777 Online Casino quest, relax certain that will consumer help will be at your own support. Full 777 Casino gives a variety associated with choices, each and every along with its personal running occasions and prospective costs.
All Of Us offer a broad selection associated with games from the particular classics, such as Roulette in add-on to Black jack, to entertaining game exhibits work simply by energetic serves, and all of these people give you the possibility to win large. Whether you’re searching for exhilaration at typically the slot equipment game devices, tests your current skills at the particular tables, or enjoying some other online casino video games, they possess all typically the elements to meet your gambling desires. Indication upward nowadays, embark about a regal experience, plus let the casino redefine your video gaming entertainment. Typically The casino’s user-friendly website design tends to make this particular sign up method remain out. This casino offers a enrollment process that’s speedy in inclusion to straightforward and becomes an individual in buy to the enjoyable part regarding actively playing fascinating online casino online games within simply no moment. Typically The enrollment procedure will be uncomplicated, plus producing build up and withdrawals will be a bit of cake along with various reliable transaction choices accessible.
Bank Account verification will be a standard process at California king 777 Online Casino, adding to be able to the particular platform’s dedication to security. Pleasant in order to typically the globe regarding Full 777 Casino, where excitement in add-on to benefits await.
Together With regular special offers plus specific offers, queen777 retains items fresh plus exciting regarding players regarding all levels. Although we think of which having a top top quality collection associated with video games is vital, all of us furthermore consider that will satisfying the gamers is usually just as essential. That is usually exactly why a person will end upwards being dealt with to a number regarding bonuses in add-on to some other advantages through the instant of which an individual turn in order to be a member associated with Queenplay. Right Right Now There is usually a massive delightful package of which will help you get off in buy to the finest possible begin with bonus money plus free spins.
Players can take pleasure in a selection associated with online casino online games at queen777 from the particular comfort regarding their particular own homes, which includes slot machines, desk video games, live dealer video games, in add-on to more. Our Own great gambling series includes online games from major designers, guaranteeing outstanding satisfaction in add-on to a amount of chances to win big. QUEEN777 is usually identified as a reliable new on-line online casino program in the Thailand. We All offer you games just like casino online games, slot machine games, fishing, sporting activities, and more, plus have quickly come to be well-known along with higher praise and positive evaluations from many young players. Additionally, QUEEN777 prioritizes the benefits plus encounter of the gamers, providing professional features, solutions, committed consumer assistance, plus numerous great special offers. At Maxwin Casino, the mission will be to be capable to provide a great unrivaled on-line gambling knowledge of which includes enjoyment, development, in addition to honesty.
Brutal opposition plus hefty benefits rest underneath the surface along with every single fish trapped in addition to bonus unlocked, switching typically the virtual sea in to a cherish trove associated with prospective earnings. With Spadegaming, you’re not simply actively playing a great online seafood game; you’re starting on a quest total regarding surprises plus delightful provides of which could boost your own gambling portfolio. As you navigate by indicates of virtual waves, great deals plus special discounts wait for, improving your own gaming strategy in addition to incentive possible, reminiscent regarding treasures plentiful within typically the sea.
From classic stand online games in buy to cutting edge slots, right today there’s no shortage regarding enjoyment choices about this specific system. California king 777 Casino will be a good on-line gambling system of which caters to end up being in a position to the two new and experienced participants. It provides a wide selection of video games, including slot machines , desk video games, plus live dealer choices. Together With enticing bonus deals in addition to marketing promotions, the casino is designed to end upward being able to create a fascinating atmosphere for its customers. Additionally, the program is created to be easily navigable, ensuring that consumers have a seamless knowledge whether these people usually are working inside or managing their accounts. Numerous individuals favor to end upward being in a position to perform their own preferred on-line online casino video games from their smart phone or tablet products, and in case you are a single such particular person, after that an individual will possess no difficulties playing at Queenplay.
Wagi777’s fishing online games offer of which escape, allowing a person rest as you explore numerous virtual fishing places. Regardless Of Whether it’s a fast program or even a lengthy leisurely experience, Wagi777’s angling encounters offer you the rest and entertainment you need to recharge. 1st of all, do to queen777 logon to this specific platform by offering your own private info for the particular username plus password.
This Specific on the internet video gaming heaven is created to bring the finest on range casino experience to become capable to Filipinos, right at typically the comfort associated with their residences. Together With a good easy-to-navigate user interface, a wide variety regarding online games, plus high quality protection actions, California king 777 Online Casino is typically the go-to program regarding Filipino on-line gambling lovers. JILI Fetta is a single regarding the particular latest improvements to be able to queen777’s on the internet gaming offerings. This Particular game allows players in buy to bet on the outcome regarding different lotteries through about typically the globe, which includes main attracts just like typically the US Powerball in addition to EuroMillions. Participants may select their figures plus spot their own gambling bets, together with potential pay-out odds based upon the probabilities regarding the particular certain lottery. So much even more than simply a good on-line online casino, 777 will be all concerning retro style-class glamour, shock in addition to enjoyment.
At Queen777 On The Internet Online Casino, we all satisfaction ourself upon providing a diverse in inclusion to exciting video gaming experience regarding all types associated with gamers. Let’s check out our own main sport varieties in fine detail to aid an individual locate your own ideal match up. Lucky Cola, a trustworthy on-line online casino associated along with typically the Oriental Gaming Team, offers a different variety associated with games which include sporting activities gambling, baccarat, slots, lottery, cockfighting, and online poker. Together With legal reliability plus supervision coming from the Philippine authorities, participants could take satisfaction in a risk-free in add-on to regulated gaming experience at Fortunate Cola. At queen777, a person could appreciate even more than simply on range casino online games – the particular program also offers a comprehensive sports activities wagering segment. Coming From soccer in addition to basketball to become in a position to tennis and baseball, a person could bet on a large variety regarding sports activities together with various choices such as pre-match plus survive wagering, competing probabilities in inclusion to more.
777 is a part associated with 888 Loge plc’s famous Online Casino group, a global innovator inside on the internet on line casino games in inclusion to a single associated with typically the biggest on the internet gaming sites within the world. Portion regarding typically the renowned 888casino Golf Club, 777 advantages coming from a lengthy plus honor winning historical past inside on-line gambling. A Person may end up being assured of typically the extremely greatest in responsible gambling, reasonable enjoy safety and service at 777. Typically The casino offers 24/7 support to become in a position to queen 777 casino login philippines sign up aid players along with any sort of concerns they might come across whilst playing. Whether participants have got concerns about games, repayments, or any type of other aspect of typically the casino, the particular customer support team is usually available to aid. Participants can reach away to the support staff by way of survive conversation, email, or telephone, making sure that will these people obtain prompt help anytime these people want it.
These Types Of video games permit an individual in buy to analyze your current good fortune, scuff off a ticketed, in add-on to reveal your own fortune. Logon QUEEN777 will give a person accessibility to be capable to a world regarding top quality and engaging online games. Queen777 likewise complies along with information security laws, which often mandate typically the safe managing, safe-keeping, and destruction of individual details. Participants can sleep guaranteed that will their information is usually managed along with the particular greatest treatment, together with normal audits carried out to ensure conformity with global info safety standards. Clearly, Riverslot options never ever quit to end upwards being able to become enhanced which often is surely a signal of upcoming adoption. Adopting typically the extensive facilities associated with large systems Riverslot provides for creating typically the real video gaming proliferation.
This Specific is thus that we can conform along with numerous legal specifications in various jurisdictions. Although we recognise of which folks might end upward being hesitant in order to carry out this, it will be in fact a really simple procedure of which needs in buy to become finished just when. We All will need to an application regarding photo IDENTITY in addition to evidence of deal with, which often you could post on the internet. Typically The paperwork are usually processed very swiftly, and once a person have got accomplished the particular procedure you will have simply no issues depositing or withdrawing at the particular casino.
Obtain ready regarding a good unequaled gambling journey at Full 777 On Range Casino, exactly where typically the exhilaration, satisfying additional bonuses, and the opportunity with respect to large wins are usually all at your own fingertips. Together With easy-to-use betting alternatives and live streaming, an individual can watch every single second regarding typically the actions unfold. Really Feel the excitement as roosters conflict, feathers fly, in add-on to the thrill regarding sabong will come to end up being in a position to lifestyle about your own display. It;s a place exactly where you could chat, reveal, and commemorate together with other video gaming enthusiasts. It;s where friendships are usually manufactured more than a pleasant online game regarding blackjack or even a contributed jackpot feature cheer.
A Person possess recently been warned lol .It merely retains having better – typically I obtain bored together with slot video games, nevertheless not this one, even though. Slotomania is a lot even more as compared to a good enjoyable game – it is usually likewise a neighborhood that believes that will a family that will plays together, remains collectively. Sure, Full 777 Online Casino provides client help via reside chat, email, in add-on to phone, ensuring fast support. Yes, Queen 777 Online Casino is usually a good accepted in inclusion to governed on the internet casino that will gives a risk-free spot to play. On The Internet internet casinos have got changed typically the gambling scenery, providing gamers along with thrilling opportunities to become able to win large, correct coming from typically the comfort and ease regarding their houses… Likewise, all of us have in order to create sure that our members’ personal privacy is usually correctly safeguarded.
]]>