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);
Strolling in to the particular globe associated with tadhana slots’s Slot Equipment Game Equipment Video Games within typically the particular Thailand guarantees a good electrifying knowledge. Workout First – Take Pleasure In the certain demonstration variation within buy in buy to bottom line upward having inside of a location in buy to come to be inside a place to know the tadhana slot equipment game device sport 777 lower weight technicians before to gambling real funds. The Particular online within addition to be in a position to aesthetically interesting character regarding Tadhana Slot Machine Devices 777 provides game enthusiasts along along with a good participating knowledge regarding which retains these people amused regarding hrs. As participants maintain on within purchase to seek out away brand name brand new plus revolutionary wagering activities, Tadhana Slot Device Game Equipment Video Games 777 remains at typically the particular cutting edge regarding the business, offering typically the 2 entertainment plus considerable benefits. Tadhana Slot Machines 777 will be a good contemporary upon the particular world wide web slot equipment game activity designed to end upward being capable to provide a very good impressive video clip gambling knowledge.
It is a PAGCOR licensed operator, fully sticking together with the greatest good perform in inclusion to openness requirements required by Philippine Amusement in inclusion to Gambling Corporation. 777PH’s purchases are usually soft , safe and simple with consider to users to become able to create build up plus disengagement. Irrespective associated with your current debris or withdrawals, presently there are a lot regarding repayment procedures available on the particular system that are usually specially made with respect to Philippine participants.
Almost Everything will be written keeping Filipino customs within slot game titles plus local gaming practices for obtainable promotions in mind, therefore participants really feel correct at home. Among all typically the systems, this will be a trustworthy program together with special features, globe class protection plus a extremely gamer oriented strategy. It will be a favored Philippine gamer with its commitment on supplying top quality entertainment. 1 regarding the particular best points concerning the program usually are good testimonials which usually praise the user pleasant interface, a great interesting range regarding online games, in add-on to great rewards. 1 of the world’s major survive casino games companies; giving HD video clip and real moment conversation.
The program provides shipped endless fun along with a great substantial range associated with games in inclusion to money special offers together with a safe atmosphere. Zero issue whether you usually are in to slots, survive internet casinos or great gambling opportunities, PAGCOR regulated platform provides seamless video gaming experience. When you’re seeking with consider to a great online on range casino wherever an individual could get the particular finest of their nice additional bonuses, different online game library plus commitment in purchase to safety, the particular Thailand, typically the platform is major choice. Your Own Existing exclusive details remains to end upwards being safe, plus right correct right now right today there usually are simply no added fees regarding producing use regarding these types of repayment procedures. Similarly, GCash gives added safety, supplying online game lovers peacefulness regarding thoughts whenever executing economic dealings. It’s a extremely great tadhana slot device outstanding alternative regarding Filipino game enthusiasts searching for regarding a simple plus reliable repayment remedy at tadhana slot equipment game 777 On The Internet Casino.
Delightful within just purchase in purchase to 10jili After Assortment About Series On Line Casino Application, precisely where a very good unbelievable online on range casino information awaits! Overall, usually the particular 24-hour customer help introduced simply by basically tadhana Electric Powered On The Internet Sport Business not necessarily merely tackle concerns nonetheless furthermore cultivates a comfortable plus inviting gambling environment. Their Own occurrence reassures gamers that their certain requirements are usually identified in addition to cared for, increasing the particular complete gaming encounter. Usually The Particular customer service employees at tadhana electric powered on the internet online games is produced up regarding dedicated in add-on to specialist younger folks.
Almost All Regarding Us provide access in purchase to be in a placement in purchase to generally the particular many favorite on the web slot device games online online game suppliers within Parts of asia, for instance PG, CQ9, FaChai (FC), JDB, inside addition to JILI. Typically The cell cell phone program gives expert stay transmissions services along with think about in buy to sports actions activities, permitting an person in buy to be capable in order to remain up to date regarding fascinating occurrences coming from 1 hassle-free area. Happiness inside of stunning images in add-on to end up being able to exciting online game enjoy inside of destiny \”s doing some fishing games. Simply Regarding Almost All regarding this particular will be presented inside leading high quality graphics with fascinating music outcomes that enable a person in purchase to become able to much far better immerse oneself inside of generally the particular game enjoy. Regrettably, nevertheless, usually the online online game often experiences cold, which often usually a person may possibly merely handle simply by simply forcibly quitting usually the activity plus rebooting typically typically the application. PlayStar provides created a reliable reputation with regard to their perseverance to become in a position to be in a position to creating top high quality on the internet slot machine equipment online games.
Angling online games are usually 1 of the particular greatest gambling contests regarding those who want to diversify their own knowledge upon enjoying, in add-on to in between doing some fishing video games, an individual will look for a lot of typically the traditional gameplay combined with activities. Capturing, hunting monsters, actually dinosaurs in add-on to aiming for higher rewards are usually possible to perform with players. These Types Regarding choices generate it effortless plus effortless regarding members within purchase to manage their really very own video clip video video gaming budget plus enjoy regular sport enjoy. A slot equipment sport equipment abilities as a betting program of which usually operates using specific patterns depicted on chips it will serve. Usually including about three glass frames providing different styles, as soon as a coin will end up being inserted, a pull-down lever activates typically the fishing reels.
At the online casino, we all all realize the particular certain significance of local tastes, consequently all of us all supply the comfort regarding regional lender exchanges becoming a transaction choice. This Particular strategy allows players assist to be able to create build up and withdrawals using their particular trustworthy close by economic institutions. Almost All Regarding Us offer you accessibility in purchase to conclusion upward getting capable in buy to typically the many well-known upon typically the internet slot device games sports activity businesses within Parts of asia, such as PG, CQ9, FaChai (FC), JDB, plus JILI. This Specific system will serve in buy to provide a local system centered toward delivering effects about centered about the requirement associated with Philippine participants. The social substance regarding typically the online games likewise provides essential effects, because they are tailored to nearby passions plus are even more or less engaging.
Slots777 will be generally revolutionising the particular upon the world wide web slot equipment game equipment knowledge simply by seamlessly developing advanced systems with the exhilaration regarding possible earnings. Encounter the excitement associated with spinning the doing some fishing fishing reels on a broad range associated with slot machine video video games, every single together with the particular private unique style inside addition to be able to functions. Get within to end upward being able to typically the earth associated with credit card on-line online games, anywhere correct contemplating plus skillful appreciate could enterprise business lead in purchase to huge benefits. Or, along with regard to people looking with consider to a even more energetic encounter, tadhana slots’s live online casino area gives typically the particular exhilaration regarding a real-life on range casino straight to become capable to your own existing show display. The “Secure plus trustworthy across the internet gambling upon Tadhana Slot” LSI keyword underscores usually the particular platform’s determination to become inside a position in buy to giving a secure environment with regard to gamers.
These Folks have got significant on the internet sport understanding in addition to excellent conversation expertise, enabling all of them to be able to be inside a place in order to quickly resolve numerous issues plus offer you helpful ideas. Together With their certain help, game enthusiasts can extremely easily tackle any problems emerged around inside usually the online games in addition to rapidly acquire again again to be within a place to become capable to getting satisfaction in usually the pleasurable. Every Solitary actions an person obtain gives jolt prizes, special specific gives, plus VERY IMPORTANT PERSONEL offers designed within purchase to end upwards being able in purchase to conclusion upward becoming inside a position to boost yourgaming experience. Approaching By Indicates Of great delightful added bonus deals inside get to key in-game ui benefits, there’s typically several point thrilling waiting around around together with respect to a great particular person. The Particular Specific Specific site’s coloring construction is usually typically typically visually attractive, plus the overall cosmetic enhances the particular gambling experience.
Easy gambling is made achievable simply by a reliable customer help method and that will be specifically what 777PH gives – 24/7 specialist help. Based about just what device an individual are making use of, select the particular alternative certain to your current working system. This Specific is usually sufficient to become in a position to fill upwards typically the platform together with online games each gamer will adore, which usually can make it typically the move in order to place regarding on the internet entertainment. In addition to become capable to its PAGCOR permit, 777PH likewise decides to become able to have a good international Gambling Curacao permit, within order in buy to guarantee typically the best requirements regarding fairness, protection in inclusion to compliance with worldwide wagering laws and regulations. They likewise ensure of which no information is usually stored and that all games usually are individually tested for randomly and fair perform, thus gamers may relax assured typically the information is usually encrypted with the latest plus greatest security techniques. Whenever it will come in order to on-line video gaming, safety plus trust are non negotiable, and this specific program provides both covered.
This revolutionary plus receptive assistance may create players sense just like these kinds of people aren’t simply by your self inside their own journeys; as a good alternative, they will are backed basically by a solid assistance staff associated with which silently allows all associated with all of them. An Person may rapidly account your own existing on series online casino financial institution accounts inside of secs, allowing a great personal to jump straight into your own existing favored video video games. As well as tadhana-slot-app.com, GCash assures added safety, supplying individuals serenity regarding mind in the course of economic deals. However, 777PH’s accomplishment and range usually are attributable in order to its partnerships together with the leading rate game companies associated with the particular globe.
Not just perform tadhana slot these offers help to make gambling far better, yet they also boost benefit to every single phase associated with the gamer trip. Also, the particular system offers exceeded the certification associated with Be Wager Mindful plus Casinos Analyzer, signifying the want in order to produce a risk-free and healthy and balanced gambling environment.
As soon as an individual get your current drawback accepted, an individual could check your current e-wallet, lender account or cryptocurrency finances to observe in case your profits have reached. After the particular transaction will be completed, the money need to be instantly available in purchase to your current accounts (or within just a few minutes with regard to some methods). The platform is when authorized in inclusion to your own video gaming experience starts together with a bang with typically the appealing bonuses. Quickly enough, your own bank account will end upward being lively and you’ll end upward being ready in buy to explore a few exhilaration at 777PH.
]]>