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);
As A Result, together with us, an individual stay forward associated with the contour, ready to be able to increase your victories. We not merely celebrate your own option in order to enjoy together with us but also your own continued commitment. Join the Ji777 community today plus begin about a gambling journey like no some other.
After confirming your own accounts, head to become able to the “Cashier” section in add-on to choose your own desired transaction technique. 777JILI helps multiple deposit alternatives, which include credit rating playing cards, e-wallets, plus bank transfers. Build Up method instantly or within just moments, permitting a person to end upward being able to begin playing proper aside. Experience the excitement associated with an actual on range casino from typically the convenience of your home along with our own Live Casino choices. At 777JILI, you can join survive retailers for classic stand video games for example Black jack, Different Roulette Games, and Baccarat. Our HIGH DEFINITION streaming in addition to professional croupiers bring a great traditional on collection casino ambiance directly to be capable to you, complete together with live connections plus real-time play.
Through concerns concerning games and marketing promotions to accounts administration, we guarantee you’re constantly well taken care associated with. Furthermore, the committed staff will be always ready in buy to help a person, generating certain your encounter will be both smooth and pleasant. We make in order to providing our players together with the greatest level associated with on-line safety. Our secure gaming atmosphere has already been created inside compliance together with international Web safety specifications. Consequently, an individual can play confidently, knowing your own details is risk-free. Involve oneself within typically the unparalleled enjoyment regarding real on range casino activity along with Ji777 exclusive reside supplier online games.
Typically The game characteristics explosive bursts of energy, supplying excitement and enjoyment. With its engaging design in add-on to fascinating mechanics, Hyper Broken gives a fun in addition to captivating online video gaming knowledge. Get in to https://jili-slot.casinos.com the particular planet regarding Hyper Burst Open for a creatively stunning and action-packed experience in the particular realm regarding Filipino online video games.
In Case yoIf you’re a lover regarding online slot device games in the Israel, and then the Jili77 logon will be your entrance in buy to exhilaration and huge is victorious. Jili77, a trusted part of typically the broader Jiligame network, offers a selection associated with high-quality slot machine game online games together with nice bonus deals in inclusion to clean game play. Yet just before an individual could dive in to the particular actions, a person want to be capable to know how to record in, protected your accounts, plus help to make the particular the majority of out there regarding your own actively playing moment.
This Particular interdependence allows create advancement; every team associate takes on a considerable part within making sure the particular success of the particular organization. The Particular resulting gaming knowledge is a more potent 1 shaped by typically the contributed visions dedication, passion, and creativeness associated with numerous users associated with typically the organization. This wide-ranging blend includes their determination in buy to options regarding a quantity associated with various worldwide market segments.
Ji777 gives a large range associated with exceptional online slot online game to participants around the world, enabling a person to become in a position to enjoy becoming a single of the highly valued customers regarding free. All Of Us offer thrillingly realistic slot machine along with innovative images, large payouts, nice additional bonuses, and a good amazing option associated with games. In Addition, our slot machine possess a lower payout ratio, which means an individual possess a great deal more chances to go walking apart together with some thing. 777JILI beliefs loyal gamers, in addition to our devotion factors method is usually designed in buy to reward an individual with consider to every single gamble.
If you simply appearance at the images regarding a online game, it won’t inform you how extended a person require in purchase to perform in purchase to get your own funds again. For example, a device along with a 97% return portion means an individual have a 97% possibility of winning. At 777JILI, faithful gamers usually are compensated by implies of our special VIP plan. Enjoy unique incentives, which include larger withdrawal limitations, personal account administrators, and special additional bonuses focused on your choices. Typically The VIP plan is made up of many tiers, each offering significantly valuable benefits as a person ascend the rates.
]]>By Simply selecting 777JILI, you’re deciding regarding a system of which places your safety, safety , plus gambling fulfillment 1st. Whenever you create your own first downpayment, 777JILI gives a nice match reward, which usually could double or also multiple your own initial money. This Specific implies a whole lot more playing moment in add-on to a great deal more possibilities in purchase to check out the vast library regarding games. The Particular Pleasant Bonus is our approach of expressing give thank you to a person with respect to picking 777JILI. Be certain in purchase to verify the particular phrases plus problems for minimal down payment sums and betting needs to maximize this particular provide.
Furthermore, this particular perspective of which the company strives for is usually likewise as well in typically the way these people deal with their own workers. It emphasizes the require with respect to staff to exhibit typically the greatest degree associated with ethical behavior although feeling happy regarding their efforts to job. Almost Everything coming from sport style in purchase to customer help embodies the company-wide determination to end upward being in a position to dependable wagering procedures. These People keep the particular high quality of transparency plus fairness given by simply the clients.
777JILI regularly hosting companies competitions and leaderboard occasions where gamers could be competitive for prizes. These Sorts Of tournaments add a competitive advantage, enabling a person to hole your own abilities against other gamers with consider to a chance to be capable to win funds advantages, bonus deals, plus special prizes. Competitions are available for numerous online games, which include slot machines, stand games, in inclusion to sports wagering, giving every participant a possibility to be in a position to sign up for in.
Industry professionals plus market analysts frequently cite Jili777 being a design of superiority in the particular on-line casino world. Their Particular ideas confirm typically the platform’s methods in add-on to hint at the prospective with regard to future success. Jili777 Casino has a encouraging upcoming as it carries on to become in a position to develop and adapt to end up being capable to typically the constantly changing globe associated with on-line video gaming. Programs will become informed by simply continued technologies opportunities, continuing participant behavioral research, in add-on to a sturdy dedication to sustainability.
Really appear at the particular game’s recommendations and gambling necessities in buy to determine whether this particular system can be applied. Drench yourself within the particular veneración regarding Jili Slot Equipment Game online games plus exploit our own developments. Sow the particular seeds regarding lot of money and watch your advantages fill up in this beguiling area sport featuring a bundle of money tree, lucky pictures, and ample benefits. Each accomplishment adds to the particular collective company image Jili777 Casino offers in getting a master inside the industry.
When an individual jili slot would certainly such as to get more news regarding JILI777, you could look at it on the JILI777 web site or get in contact with the particular personnel immediately at virtually any period. Typically The cellular software, accessible about the two Google android in add-on to iOS, will be optimized regarding clean game play. Whether Or Not you’re on the move or relaxing at house, a person can appreciate Jili slot machines at your own convenience together with merely a few of taps upon your screen. For Philippine participants, this degree regarding rely on means an individual could appreciate your favored video games with out concern of unfounded final results or info breaches.
Together With 24/7 customer support plus different marketing promotions in purchase to aid an individual improve your current wins, jili777 on range casino gives typically the greatest on-line gambling experience regarding every sort regarding participant. On The Internet slot equipment, specifically upon programs just like Jili Slot Casino in inclusion to Jili Online, enthrall players. These Types Of online games dazzle along with designs, through adventurous expeditions in buy to mystical realms, enhanced by gorgeous images and soundtracks. Each And Every spin and rewrite is a quest for successful combinations, along with Jili Applications offering smooth gameplay across devices. Our assortment contains slots, doing some fishing games, live online casino games, in addition to sports activities betting. Doing Some Fishing video games put a good additional coating associated with excitement to the 777JILI encounter.
Within typically the ever-growing world of online internet casinos, trustworthiness is usually almost everything. JILI Games has gone up as a single regarding the most trusted gambling providers within Parts of asia, specially inside the Philippines, where on-line gambling continues to end upwards being able to climb within recognition. Guaranteed by official permit plus regulatory compliance coming from acknowledged gaming government bodies, Jili ensures all their online games meet global requirements regarding fairness, protection, in add-on to openness. Also, GCash provides added safety, providing participants peacefulness of mind any time performing economic dealings. It’s an outstanding choice regarding Filipino players searching with respect to a hassle-free plus reliable transaction solution at jili777 On Collection Casino. Furthermore, typically the sport functions a few fishing reels and twenty-five paylines, giving a selection regarding earning combos.
Backed by simply the particular effective JILI Online Games supplier, JILI777 provides exciting slot machine game headings, survive online games, and sportsbook functions — all within a single mobile-friendly platform developed regarding Philippine players. The the majority of crucial characteristic regarding a good on-line slot machine sport is typically the payback percent. If a person simply appear at the images associated with a online game, it won’t explain to an individual just how lengthy you need in purchase to enjoy to become in a position to obtain your own cash back. For illustration, a machine together with a 97% return percentage means you have got a 97% chance associated with successful. Encounter a good unrivaled assortment associated with fascinating undertakings together with Jili Beginning Games!
]]>