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);
FB777 is the particular leading legal online online casino within typically the Philippines. Fb 777 giving participants the particular greatest amusement knowledge with a variety regarding thrilling games. Here, you will be immersed within an expert online online casino space along with the spectacular. You may Enjoy your current passion with countless numbers of special our slot machine on range casino sport game titles.
When an individual have concerns regarding being a VIP, you may always ask FB777 customer support. They will assist an individual realize exactly how in purchase to come to be a VIP plus just what rewards a person could acquire. The Particular angling class provides a reality associated with particular and authentic gaming revel of which combines each and every skill in inclusion to achievement within a great fascinating digital doing some fishing experience. Creating numerous balances may outcome in accounts obstructing and confiscation of bonuses. Participants may not make use of Fb777 Reside’s services when they will are prohibited or restricted coming from engaging within wagering activities.
Video Games could become played directly about typically the web web browser or through the particular Cell Phone Application. For any sort of concerns or worries concerning build up or withdrawals, contact FB777’s 24/7 client support staff. Remember in order to always bet sensibly in inclusion to within your indicates. FB777 gives equipment to end up being in a position to assist handle your current gaming exercise plus guarantee a safe, pleasant encounter. FB777 provides a range associated with secure and hassle-free banking choices for both build up plus withdrawals.
Fb777 Web Site stores the proper in buy to up-date the level of privacy policy. Any modifications will be announced on the site plus cellular program. To End Upward Being Able To register FB777 bank account, an individual may check out the particular home page “fb777.ph” or “ record in” in add-on to adhere to the particular directions. The Particular sign up procedure is usually very easy plus speedy, taking just several mins in purchase to complete. Throughout hectic intervals or due to safety checks, withdrawals may possibly take extended. FB777 utilizes advanced security technology in order to safeguard all monetary transactions.
The stringent Know Your Customer (KYC) policies usually are inside place to protect our own players coming from fraud plus not authorized activities. Furthermore, all associated with our casino online games are usually fully certified and regulated by the particular Curacao regulators, ensuring a hassle-free online gaming encounter with regard to the gamers. FB777 Website is designed to end up being the particular top on-line online casino in the Philippines, pioneering within advancement plus advancement associated with online entertainment services. Fb 777 will be proud in order to bring gamers a different plus attractive treasure trove regarding on-line online casino online games, gathering all passions in addition to amusement requires.
Fb777 Doing Some Fishing is usually a unique plus appealing entertainment game, incorporating action plus luck. Participants will change directly into talented fishermen, discover typically the vast ocean, in add-on to hunt uncommon fish to obtain benefits. Don’t forget to be in a position to get edge regarding typically the unique additional bonuses and a great variety of gambling alternatives available as soon as an individual log in. FB777 ensures clear and trustworthy dealings every time.
Many FB777 slot machine game games have got higher Come Back in order to Participant (RTP) proportions, starting from 96.3% in purchase to 97%, offering participants far better chances associated with earning over time. As Soon As logged within to end up being capable to FB777, you’ll be able in purchase to explore a massive assortment associated with on the internet online casino video games of which serve in purchase to different participant choices. Regardless Of Whether an individual’re within the disposition for some traditional desk online games or would like to be in a position to attempt your fortune together with typically the latest slots, almost everything will be simply several keys to press apart. Sure, at FB777 CASINO, an individual may bet with Philippines Peso (Php) money. The nearby touch is usually extremely crucial thus gamers within Thailand at FB777 may begin enjoying using their particular nearby money regarding build up plus withdrawals. Knowledge the excitement of top-tier online wagering together with our curated assortment regarding the particular finest online internet casinos in the Israel.
At FB777 , an individual could possess complete self-confidence in the honesty of casino given that operator companions with iTech Labs in purchase to approve online games at FB777 program with RNG screening. A big amount associated with marketing promotions make sure that every single consumer may knowledge a good unparalleled gambling knowledge. All Of Us also spot a solid emphasis about your own security in add-on to have got applied superior quality security technological innovation in order to guard all regarding your current individual data. Our user-friendly site functions a good substantial online game catalogue, permitting you to become able to discover almost everything an individual need in one spot. Along With FB777, an individual can trust of which the greatest customer support will be usually obtainable to become in a position to help a person when a person want it.
Offers unique in add-on to interesting special offers, supporting participants enhance their own chances of successful. From delightful additional bonuses, cashback, in buy to specific events, all of us always possess shock offers regarding an individual. Added Bonus points plans help players get more interesting presents. Totally Free spins plans aid participants have got a whole lot more possibilities to become in a position to encounter slot video games.
As well as the particular assistance staff will be enthusiastic and devoted, I don’t be concerned about performing anything at all wrong in add-on to it’s 100% secure. If an individual ever before feel like your own gambling is usually getting a issue, don’t be reluctant in purchase to use the particular accountable gambling resources or seek aid. Appear no further than FB777 On Range Casino, the particular premier online program regarding all your slot machine gambling needs. Fb777 provides really big offers plus special offers regarding each fresh traders plus regulars. This Particular contains a Pleasant Added Bonus, Refill Additional Bonuses, along with Refer-a-Friend bonus deals. Simply Click Register to unlock unique offers and top-tier entertainment.
Beneath is a listing regarding typically the many popular casino online games at the on line casino, wherever a person can enjoy your current enthusiasm and bring house useful benefits. The Particular FB777 sign in method is developed for convenience in inclusion to speed, ensuring that will the two new in inclusion to existing participants could accessibility their particular accounts along with minimum effort. Regardless Of Whether a person choose applying the particular web site or the mobile application, FB777 can make it effortless in order to log in in inclusion to begin enjoying or gambling. Indeed, FB777 CASINO will be a single regarding the major online online casino and gambling sites obtainable in order to Philippines players. In Buy To spot a bet, simply pick your own desired sports activity, choose the league plus complement, plus decide on your bet sort. FB777 gives different wagering options, which include match up results, ultimate scores, and other elements of the game.
Along With above two years associated with committed services, FB777 offers gained the particular believe in plus devotion regarding a large number of on the internet betting enthusiasts. As a symbol regarding our honor, we’re moving away fascinating rewards in add-on to unique additional bonuses with consider to all fresh members who else sign up for our growing local community. FB777 On Line Casino offers a selection regarding on the internet gambling video games like Live On Range Casino, Slots, Doing Some Fishing, Sporting Activities Wagering, Sabong, Stop, plus Poker. All Of Us upgrade reports in add-on to specific research associated with fits, helping players acquire complete plus correct info. A vibrant participant local community plus unique activities deliver a fantastic esports wagering encounter. FB777 furthermore provides a user friendly cellular system, enabling you to bet on your own favorite sporting activities at any time, everywhere.
Gamers may bet on well-known sports activities such as football, hockey, tennis, volant, plus several some other sports. We very own a massive series associated with slot equipment game equipment, with 100s associated with sport headings from typically the world’s leading reliable sport providers. Through traditional online games in purchase to typically the most recent online games, FB777 constantly improvements the newest trends in buy to meet typically the diverse entertainment requires regarding participants. Fb 777 develops the reputation about openness, fairness plus responsibility. We usually are fully commited to guarding players’ private in addition to financial info absolutely. Along With the best working certificate, our own on collection casino provides a secure in add-on to dependable betting environment.
FB777 uses advanced technologies to become capable to guarantee good gameplay and a smooth streaming knowledge. Several online games provide exciting features in inclusion to typically the opportunity regarding big affiliate payouts, with Monster Gambling providing odds upward to 190 times your current bet. FB777 online casino provides a quick and easy method in order to acquire started out with real cash video gaming. Fb777 offers the greatest live on line casino encounter along with well-liked on-line wagering games for example Baccarat, Blackjack, Roulette and Holdem Poker.
Regardless Of Whether you prefer typical, standard slot machines or anything new plus exciting, you’ll locate it here at FB777 live! Our large choice of slot machine games guarantees hours of video gaming fun in addition to helps prevent virtually any possibility associated with obtaining uninterested. A Person may get typically the fb777 pro app to your cell phone to be in a position to encounter the particular online games whenever, anyplace.
Players may interact with sellers plus some other gamers via typically the reside conversation feature. Although being able to access FB777 through desktop is clean, several consumers in the particular Thailand favor making use of the FB777 software login regarding more quickly access. Typically The app enables regarding seamless betting in addition to video gaming whilst on the go. FB777 gives a great superb variety regarding cockfighting choices regarding Filipinos to be capable to choose coming from. The trustworthy program offers users along with the opportunity to experience typically the same excitement as attending a traditional cockfighting occasion. Encounter typically the magic as your deposits associated with fifty models or more, produced via PayMaya, get amplified simply by a jaw-dropping 200% – every single single day!
These Sorts Of video games usually are offered by major software providers plus have recently been carefully analyzed simply by GLI labs and the particular Macau verification product in order to guarantee good game play. Furthermore, fresh participants can get advantage associated with nice bonuses to boost their bankrolls in inclusion to boost their possibilities associated with earning. Together With these varieties of functions in addition to a lot more, all of us offer a fair in add-on to secure surroundings for gamers to appreciate their particular preferred online slot machines. Enter the globe of ultimate on-line entertainment at FB777, typically the Philippines’ amount one on line casino, exactly where enjoyment plus successful options come with each other in each instant. FB777 Casino is usually a electronic digital gaming web site of which gives various routines for example casino video games, reside dealer encounters, plus opportunities regarding sports wagering.
]]>