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);
If typically the reside online casino ambiance seems mind-boggling, 8K8 Casino’s selection regarding credit card online games is usually the best alternate. With Consider To all those who desire vibrant pictures in inclusion to innovative characteristics, Pragmatic Perform provides at 8K8. Nice Bonanza 1000 is a candy-coated dream together with tumbling fishing reels plus multipliers of which could struck upwards to end up being capable to one,000x—sobrang tamis ng panalo!
These reliable transaction methods allow gamers in buy to handle their own video gaming money effortlessly. Pleasant in buy to 8K8, a video gaming organization lawfully authorized in Puerto Sana. Betting procedures usually are inside complying along with Costa Rican authorities laws. Gamers may bet upon typically the internet or the particular application by installing the particular application. Enjoy unique app-only special offers in add-on to advantages together with the particular 8K8 Online Casino Software. These Types Of distinctive advantages are customized with consider to our own energetic app community to enhance your gambling experience.
After publishing the contact form, verify your current e mail regarding a confirmation link. Simply Click the particular link to end upwards being capable to validate your registration plus trigger your account. Along With merely a few of ticks, an individual may very easily view detailed deal records, through deposits to end up being able to withdrawals and each bet in among. These info permit a person to examine your own video gaming practices, determine talents and disadvantages, in inclusion to build a a whole lot more thorough video gaming strategy. Take Into Account the game’s Return in buy to Participant (RTP) percentage plus its movements. A higher RTP means much better extensive returns, while the movements degree (high or low) will impact typically the rate of recurrence in addition to size of your winnings.
The rise regarding online casinos provides changed typically the approach Filipinos indulge along with games associated with possibility, giving unparalleled convenience, accessibility, and excitement. Accessibility your current casino gaming bank account by means of 8K8 Casino login to release the complete potential of your gambling encounter. Beyond accessing a vast range regarding fascinating online games, all of us will expose several key bank account supervision features developed in order to enhance your current interactions and reduces costs of your current gambling activities. These Types Of tools are especially created to become capable to offer convenience, handle, in add-on to personalized features, boosting your current journey within the particular online video gaming globe.
This user manual is designed to provide a concise but thorough review associated with typically the platform, ensuring a seamless and enjoyable video gaming journey. 8K8 is usually a premier on the internet gambling platform in typically the Philippines, offering top-quality video games like Survive Online Casino, Slots, Doing Some Fishing, Sportsbook, Games, in addition to Lotto. Set Up inside 2022, it functions lawfully below PAGCOR, ensuring a safe and exciting gaming experience together with 24/7 support, secure dealings, in add-on to unique promotions. We All usually are specially committed in buy to always becoming all set to end up being in a position to assistance in addition to response all players’ concerns. Dive into the inspiring globe regarding 8K8 Online Casino, your own one-stop store with consider to top-tier on the internet video gaming entertainment! When you’re eager in buy to dive directly into typically the enjoyment regarding video gaming yet deal with logon concerns, 8K8 slot online casino fully is aware of typically the emergency you feel.
This Particular foyer has come to be a leading destination, giving a selection associated with card games wherever participants can select coming from a range of options, each and every together with unique rules in addition to benefits. 8k8 is usually a premier online gambling system within typically the Thailand, together with above a pair of years of experience within the on the internet online casino business. It proudly provides a good thrilling video gaming experience along with top-quality advanced betting games, including Survive Casino, Slot Equipment Game Video Games, Fishing Games, Sportsbook, Arcade, in inclusion to Lotto.
All Of Us provide typically the many cost-effective and finest value with respect to cash choices with consider to all your table video games. An Individual can play special stand online games for example Sic Bo, 7up7down, Color Plate, and so forth. At this specific On-line On Line Casino Israel, we’re committed in purchase to providing a good exceptional gambling knowledge. A considerable portion associated with that will commitment is usually our choice regarding reliable on collection casino online game software suppliers.
Typically The 8K8 software will be a trusted plus protected system designed regarding players who else want clean and easy video gaming on the move. You don’t have to get worried concerning safety — the software is usually totally protected, and your own personal information stays exclusive. Several types as well as many various styles for you in order to encounter Stop. Stop games also provide numerous characteristics and https://www.agentsnetweb.com interesting huge advantages.
Claim your welcome bonus to boost your preliminary gambling encounter. Be sure in order to go through the conditions in inclusion to problems with consider to virtually any reward to become in a position to increase your current benefits. Inside their pages, Kaila shares priceless knowledge acquired from numerous many years of encounter and a sturdy attention inside the video gaming globe. Examine out Kaila Kerry’s social media marketing account to understand more regarding the girl.
Working in to your own accounts will be speedy in addition to uncomplicated, allowing instant access in purchase to several exciting online games and wagering choices. Regardless Of Whether you’re a coming back gamer or brand new to 8k8 Casino, the user friendly sign in method assures you may swiftly jump into the particular activity. Follow our simple steps to sign within to your account plus commence taking satisfaction in your video gaming adventure without having postpone. 8k8 is fully commited to offering a protected, pleasant, in inclusion to satisfying video gaming encounter regarding participants all through the Philippines. Guaranteed by simply a staff associated with committed professionals, we continually boost our own system in buy to fulfill your current video gaming tastes.
A Person can pick a 8k8 slot machine drawback channel (Online banking or E-Wallet). Follow these kinds of steps to be in a position to take away cash from 8k8 slot inside a clean in add-on to well-timed procedure. Just About All games at 8K8 use Randomly Quantity Generator (RNG) to become able to make sure reasonable effects. As well as, the particular system is usually accredited, therefore a person could believe in that each rewrite will be legit. Some slots at 8K8 faucet into our love regarding fiestas plus celebrations. Think About re-writing reels along with symbols regarding lechon, jeepneys, or actually Sinulog dancers!
The user friendly interface makes it effortless regarding players to understand by implies of the particular online games plus find their particular favorites along with simplicity. Together With high-quality images plus impressive noise outcomes, the gambling experience will be really second in buy to none of them. 8k8 slot device game characteristics a different assortment associated with online games, which include slot device games, desk games, reside online casino online games, in addition to even more. Gamers could choose coming from a broad variety of game titles through best software program suppliers like Microgaming, NetEnt, and Advancement Gaming. Along With superior quality visuals in addition to smooth gameplay, gamers can enjoy a great impressive gaming encounter proper through their own homes. 8K8 Online Casino will be a great online gaming program offering a broad variety regarding casino games, which include slot equipment games, desk video games, and survive dealer options.
Plus, their particular dedication in order to fair play in add-on to visibility indicates an individual can rely on every single spin and rewrite plus bet. When you’re looking for a gambling system of which gets just what Filipino players require, then you’ve struck the particular jackpot feature with this specific a single. 8K8 will be more compared to simply a great on-line online casino; it’s a local community built for Pinoy game enthusiasts who else demand excitement plus large wins. Established together with typically the aim associated with delivering world class enjoyment, this program offers rapidly turn to be able to be a household name across the Thailand.
From good welcome additional bonuses regarding fresh participants in order to continuing special offers with consider to devoted clients, the particular casino is fully commited in buy to gratifying its customers. Participants can get benefit associated with various gives, which include deposit complements, totally free spins, and cash-back offers. These Types Of special offers not just offer added funds in buy to perform with yet likewise create exciting opportunities in order to discover brand new video games. Together With frequently up to date marketing offers, 8k8 slot online casino maintains players involved and motivated to end upwards being in a position to return. It’s crucial in buy to keep a great vision about typically the special offers web page in buy to guarantee a person never miss out on the newest bargains accessible. All Of Us usually are 8K8 On-line Casino, plus unlimited amusement is what all of us carry out best!
Obtainable about certain days and nights or as component regarding continuous marketing promotions, this reward gives extra funds in order to your own accounts with every downpayment. Customers can enjoy the particular ease regarding logging within with current social media balances, such as Myspace or Search engines. This method eliminates typically the need to keep in mind additional security passwords and makes simple the particular login method, producing it more quickly in addition to a whole lot more user friendly. Choose online games with both high-quality visuals plus engaging audio outcomes. These Types Of factors substantially boost typically the immersive knowledge associated with typically the online game.
The website offers a obvious, basic, in add-on to fast-loading design and style, making navigating among games in add-on to characteristics easy. 8K8 on the internet casino provides a good software version; gamers experience wagering video games right about their particular mobile phones in inclusion to play at any time, anywhere. Pragmatic Play’s slot foyer on 8k8 likewise attracts a large gamer bottom, thanks in order to its vibrant game choice in addition to attractive jackpot advantages. 8k8 Online Casino offers a comprehensive and participating online gaming platform, wedding caterers in buy to the varied requirements in inclusion to choices regarding the participants. Simply By familiarizing yourself together with this specific customer manual, an individual can improve your current enjoyment in add-on to take total edge of the particular casino’s outstanding offerings.
Provide the adrenaline excitment of the particular on range casino correct into typically the hand regarding your own hand! Typically The 8K8 Casino App is the ideal choice for gamers who else love casino video games and need typically the convenience regarding actively playing anytime, anyplace. Founded within 2013 inside the Thailand, Fachai Games provides become a trustworthy creator associated with online slot machine online games, fascinating participants with high-quality visuals and engaging mechanics. Fachai is usually well-known regarding their high-definition images, active aesthetic results, and immersive sound, enhancing typically the general gambling knowledge. Utilizing cutting-edge technologies, Fachai generates a variety regarding inspired games that will impress together with the two seems and gameplay.
]]>