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);
Incorrect information may delay accounts verification plus effect your membership and enrollment regarding the particular 888 Online Casino fresh customer offer. Separate coming from offering a good considerable listing regarding high quality video games, 888 online casino also gives professional and competent support providers, including 24/7 live talk, help contact form, e mail, plus FAQ web page. Survive conversation will be immediate in add-on to the best for urgent questions as a person can directly acquire help in inclusion to support. An Individual could furthermore request help solutions through a hyperlink major an individual to the assistance centre assist type. Upon best regarding typically the standard pleasant bonus pointed out previously mentioned, 888 casino likewise offers a premium new consumer bonus. For participants that would like extras coming from their particular standard bonus, and then typically the premium pleasant package is usually very recommended.
When you’re searching regarding a new in addition to thrilling online online casino knowledge, and then you need to try Id888 Casino, a outstanding within typically the 2024 online casino scenery. Our Own application is developed to provide a soft gaming experience upon all iOS and Google android products. Together With user-friendly course-plotting, quickly loading times, plus high-quality visuals, the particular PH888 app gives a person the greatest online casino knowledge, simply like enjoying on your own desktop computer.
With various themes, diverse paylines, in add-on to jackpot alternatives, slot device game video games in Nice88 On Range Casino please every single preference. Well-liked headings contain typical fruits slot machine games, adventure-themed games, in inclusion to actually progressive jackpot feature slot machines, whereby profits may rise to millions. Typically The immersive visuals and liquid game play add of which extra level associated with exhilaration, generating every single spin and rewrite a thrill.
Join any regarding an enormous number regarding poker tables, the two tournaments and cash video games, together with the 888poker software. Or Stay linked in addition to bet live on your current favored sports activities together with typically the 888sport app. In Case a person appreciate enjoying on-line slot machines, a person should certainly check out typically the brand-new ROYAL888 online game. All players will find it in buy to be a enjoyment encounter due to the fact to typically the variety associated with features and bonus deals it offers, not necessarily to talk about the particular potential for large payouts.
These Types Of features create on range casino 888 UNITED KINGDOM a top selection regarding gamers within typically the Combined Kingdom, offering convenience, protection, in inclusion to entertainment within 1 package. These simple steps should assist handle the the greater part of login issues connected to be capable to 888 sign inside, 888 slot equipment games login, plus bet 888 logon. Appreciate typically the convenience of working within in buy to your current gambling accounts coming from anywhere via the mobile app as well. We’re fully commited to end upward being able to providing a enjoyable plus responsible gambling atmosphere with respect to UNITED KINGDOM sporting activities enthusiasts, therefore a person can bet upon the games in addition to contests you really like. ACEGAME888.COM.PH – ACEGAME888 will be the finest Legitimate Online Casino in 2024 regarding Filipinos. ACEGAME888 On Line Casino accredited by PAGCOR and provides the https://www.realinetsolutions.com most well-liked on the internet games presently, like Slot Machines, Fishing, Survive, Sports Activities, PVP, and Lotto.
After filling up inside your own info, you’ll end upwards being requested in buy to confirm your bank account by simply publishing required paperwork. This Particular is usually a regular treatment regarding all on-line casinos in addition to is completed with regard to fairness and protection functions. Joining ACEGAME888 will be a easy and quick process that could be accomplished inside just a few minutes.
With merely several ticks, an individual could record inside without seeking to bear in mind added security passwords. Furthermore, this particular approach will save moment and simplifies access across gadgets, producing it easier to bounce into your favored online games quickly. When an individual prefer communicating straight together with a consultant, you could locate the particular 888 Casino contact number on their web site. This Specific phone amount attaches an individual to become capable to a customer support agent who else may assist together with any kind of problems associated to end up being in a position to your own accounts, deposits, or games. Many gamers discover of which this direct contact will be quick and successful, especially any time coping along with important issues associated in buy to 888 Casino real cash transactions.
Whether an individual have got a issue concerning your accounts, video games, or obligations, we’re here to end upwards being capable to help. Together With quick outcomes and amazing prizes, this specific is usually a fun plus simple method in buy to take pleasure in gaming. Wager on your own preferred groups plus leagues, which includes golf ball, football, plus regional Philippine sports. Encounter the magic regarding rotating reels with our extensive collection regarding slot machine video games.
Fishing online games possess swiftly obtained reputation within the particular on the internet gambling globe, in inclusion to we have got a vast collection associated with angling video games regarding our participants to end up being able to take pleasure in. These Types Of online games offer you a unique mix associated with ability in addition to luck, exactly where players want in order to purpose in addition to shoot at diverse seafood in purchase to win advantages. Join TALA888 these days in purchase to take pleasure in not just the particular video games yet likewise the good funds prizes and special offers personalized especially for the survive on line casino gamers. Whether you’re a casual player or even a seasoned gambler, TALA888’s survive on line casino is your own entrance to become able to a world of enjoyment plus potentially rewarding rewards.
This summer is a successful calendar month regarding sports activities, with tennis currently ongoing at SW19. All a person require in buy to perform will be simply click ‘Sign up’ in addition to open your own on-line betting bank account. At 888sport, we’re passionate regarding all types associated with sporting activities wagering, through probabilities upon Top Group Odds and Euro odds in buy to sporting and tennis.
Additionally, real-time working simply by specialist retailers ensures a great traditional experience, producing every single palm feel a great deal more interesting. In truth, the interactive functions upon PH888 enhance the gameplay encounter, enabling players in purchase to involve on their own totally in the action. In The End, PH888 includes high-class, method, in add-on to enjoyment, giving a top-tier baccarat knowledge regarding all players.
PH88 Video Gaming provides a good substantial variety regarding video games in purchase to match all sorts regarding gamers. A Person could appreciate live casino video games, slot equipment game online games, sporting activities gambling, and very much even more. Typically The platform guarantees there’s something with respect to everyone together with its diverse choice. The Particular very first factor that will models Royal888 Casino separate will be the impressive library of online games. Along With above 1,1000 game titles in purchase to pick coming from, participants could appreciate a varied assortment regarding slot machines, desk video games, survive on line casino online games, plus actually sports betting.
In Case you’re fresh to on the internet casinos, here’s a step by step guideline upon just how to acquire began together with us. Regarding sports activities fanatics, ACEGAME888 gives a extensive sports wagering platform where you can bet upon your own favored teams in inclusion to occasions through close to the particular globe. We protect a broad range associated with sporting activities, including soccer, hockey, tennis, plus a whole lot more. Furthermore, our own multilingual consumer help team is usually available 24/7 to aid participants in their desired terminology. This enables us to be capable to supply a individualized in inclusion to satisfactory encounter regarding gamers from close to the particular planet. ACEGAME888 is usually proud to end up being a legitimate online online casino brand, fully accredited and governed simply by PAGCOR.
At ACEGAME888, we offer on-line banking downpayment solutions via numerous Filipino financial institutions, making it easier regarding gamers in order to create purchases. This Particular enables players in order to deposit in inclusion to withdraw funds immediately through their particular financial institution accounts together with simplicity. In Order To play live casino online games at ACEGAME888, simply select your current preferred online game plus become a part of a reside desk. A Person may communicate with typically the dealer in addition to some other players via chat, generating it a genuinely sociable and practical online casino encounter.
Our determination to become in a position to superiority will be grounded inside providing customized providers, constructing believe in, in inclusion to cultivating a local community associated with gamers who really feel valued plus respected. Pleasant to Extreme88 On Range Casino plus Sports Wagering, your ultimate vacation spot with respect to video gaming plus betting within typically the Thailand. As we gear upward for an thrilling 2025, all of us usually are fully commited in purchase to bringing a person a good unrivaled online experience regarding enjoyable, enjoyment, plus rewards. Whether you’re a enthusiast regarding casino online games, sporting activities gambling, or on-line lotto, Extreme88 has everything a person need proper in this article inside the Philippines. ACEGAME888 ideals our own members in addition to aims in buy to offer all of them together with excellent services in add-on to gaming choices.
This Specific indicates of which we all adhere to rigid rules plus requirements set by simply the particular Philippine government, making sure fair and responsible gaming procedures. Furthermore, all of us have also obtained certification from eCOGRA, a good worldwide recognized screening company, further solidifying our own reputation being a trusted and genuine on-line on collection casino. TALA888 provides a special blend associated with conventional Sabong with modern day conveniences.
At ACEGAME888, we satisfaction ourselves about providing a different selection associated with gaming alternatives in purchase to accommodate to end upward being in a position to all gamer tastes. We companion together with top market creators to become capable to deliver a person the particular finest in add-on to the vast majority of modern video games in the market. Our profile contains a selection associated with gambling styles, guaranteeing that will presently there will be anything with regard to everyone at ACEGAME888 Casino. At ACEGAME888, we consider the security associated with our own players’ information very seriously. That’s why we all possess executed stringent steps in purchase to make sure typically the safety and privacy regarding all data.
Walo88 will be a single regarding typically the top one legitimate, reputable plus famous betting internet sites within typically the Thailand. At Brand Name Name, players can ensure justness, visibility and security any time conducting online dealings. EXTREME88 gives a selection regarding deposit procedures tailored to fit your current ease. Whether Or Not you choose using e-wallets, financial institution transactions, credit/debit credit cards, or cryptocurrencies, we’ve got an individual included.
]]>