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);
Being within the particular on-line wagering market for concerning a decade, MostBet has developed a rewarding marketing and advertising method to become able to appeal to new participants in inclusion to retain the commitment associated with old gamers. Therefore, it regularly produces profitable bonus deals in add-on to marketing promotions upon a normal foundation to maintain upwards along with contemporary participant needs and preserve their own interaction with the bookmaker’s workplace. Mostbet’s customer service assures a easy in inclusion to reliable knowledge, generating it easy regarding a person to solve virtually any issues swiftly and keep enjoying your current gambling journey. As a Mostbet user, an individual obtain accessibility to end upwards being capable to prompt in addition to professional technical support—especially crucial regarding fixing payment-related concerns. Mostbet is usually fully commited to be able to making sure that gamers obtain speedy and clear responses without any type of hassle or delays. To End Up Being In A Position To unlock the complete variety of Mostbet.apresentando functions, consumers need to complete the particular confirmation procedure.
By Simply 2022, Mostbet offers founded a status like a trustworthy in inclusion to translucent gambling system. This Particular will be confirmed by simply numerous evaluations coming from real consumers who reward the internet site with respect to hassle-free withdrawals, generous bonus deals, plus a vast selection associated with wagering alternatives. This Particular Bangladesh-focused system caters in order to users who take enjoyment in sports wagering in addition to on the internet betting.
In Addition, the on range casino rewards its gamers with distinctive incentives, for example unique birthday bonus deals, a wide range associated with ongoing marketing promotions in add-on to a gratifying devotion program. I perform fantasy clubs inside cricket together with BPL matches and the particular awards are usually outstanding. Right Right Now There usually are many lucrative added bonus gives to become capable to pick, especially typically the massive pleasant added bonus regarding Bangladeshi gamers.
Whether being able to access Mostbet.com or Mostbet bd.possuindo, you’re assured of a clean and intuitive encounter of which tends to make inserting bets and enjoying video games uncomplicated and pleasurable. With Respect To all those about the particular go, the Mostbet software is a perfect companion, permitting a person to become able to stay inside the particular actions where ever an individual are. Along With a simple Mostbet download, the adrenaline excitment associated with gambling is correct at your own disposal, supplying a planet of sports wagering in inclusion to online casino games that may end up being seen along with simply a couple of taps. Mostbet Online Casino prides itself about giving excellent customer care to end upward being capable to guarantee a smooth plus pleasant gaming knowledge regarding all players. The Particular customer help team is accessible 24/7 in add-on to can assist along with a wide variety regarding questions, from accounts concerns to end upward being able to game rules in inclusion to repayment strategies. MostBet slot device games offers a diverse plus fascinating choice associated with casino online games, catering to all types regarding players.
The Mostbet staff is usually constantly on hand to help an individual with a diverse array associated with video gaming options, including their particular casino solutions. If a person need assist or possess queries, an individual possess several easy ways to connect with their own help experts. An Individual may participate inside a real-time dialogue by indicates of survive talk, send an in depth query to their particular e-mail at support-en@mostbet.com, or utilize their own Telegram android (@mbeng_bot) with consider to fast assistance. At Mostbet, a variety associated with repayment methods usually are accessible to suit various choices, ensuring versatility inside managing cash. You could pick from bKash, Explode, Nagad, Upay, in inclusion to AstroPay for purchases, every enabling regarding a flexible variety of build up together with a generous everyday withdrawal restrict. For individuals who else prefer cryptocurrency, Bitcoin in inclusion to Tether are furthermore accepted, starting through little quantities along with no highest downpayment reduce, keeping typically the similar significant every day drawback reduce.
In Spite Of this, Bangladeshi gamers can access Mostbet with out restrictions plus without being concerned about whether Mostbet is usually legitimate or even a rip-off. To enjoy unrestricted accessibility in purchase to these credit card online games, your current account need to complete typically the confirmation method. In Addition, to end upwards being able to perform many holdem poker and additional table video games, a minimum downpayment of three hundred BDT is required. Mostbet stands apart as a special on the internet platform showcasing a great remarkable casino section that provides a huge selection regarding games in order to enthrall every single player.
The Particular APK file is 23 MB, guaranteeing a easy download and efficient efficiency on your gadget. This assures a smooth cellular wagering encounter without having adding a strain upon your current smartphone. The app is usually frequently updated in buy to sustain typically the highest top quality regarding participants. Together With the easy installation in inclusion to user friendly design, it’s the particular perfect solution with consider to individuals who else want typically the on range casino at their own convenience whenever, everywhere.
Each And Every day time, Mostbet offers a jackpot award exceeding 2.5 thousand BDT with regard to Toto participants. Furthermore, gamblers that spot larger bets and make more predictions possess a increased opportunity of claiming a considerable portion regarding typically the jackpot. Serious casino players usually goal to boost their own revenue by simply choosing online games along with higher results and reliable randomly quantity generators, such as Toto, exactly where hitting the jackpot is usually a fascinating objective.
Typically The program helps bKash, Nagad, Explode, bank cards plus cryptocurrencies for example Bitcoin in add-on to Litecoin. Move in buy to typically the site or software, simply click “Registration”, pick a technique plus get into your current personal info in inclusion to confirm your account. The Particular MostBet promotional code HUGE could become applied whenever enrolling a new account. Locate away just how to entry the particular established MostBet site within your current nation and entry typically the enrollment display screen. Locate out just how in order to log directly into the particular MostBet Online Casino plus obtain details regarding typically the latest obtainable video games.
Gamers may make a deposit and pull away money instantly, ensuring that their particular purchases usually are each quickly and protected. The Particular Survive Casino area is usually totally integrated in to the app, permitting consumers in purchase to most bet knowledge real-time action with professional live dealers anytime, everywhere. In Case virtually any problems come up together with build up or withdrawals, MostBet Online Casino program assures a smooth quality method. Participants can rely upon 24/7 contact assistance online casino solutions for quick assistance with any transaction concerns.
Bangladeshi participants could appreciate a wide assortment regarding gambling options, on range casino online games, protected transactions in add-on to good additional bonuses. The Particular app guarantees quick performance, clean course-plotting, plus quick access in purchase to reside betting chances, generating it a powerful tool for both casual plus serious bettors. The Particular Mostbet App is usually created to become capable to offer you a soft plus user friendly encounter, guaranteeing that will consumers may bet upon the go with out absent any actions. Mostbet Online Casino will be an on the internet casino that will hosts each sporting activities betting plus on the internet slot machine equipment under the particular exact same roof.
Whether Or Not the particular consumer take satisfaction in slot machine devices, desk sport, or impressive Reside Online Casino encounters, MostBet Casino has some thing with regard to everyone. The Particular system collaborates together with top-tier gaming companies for example Microgaming, NetEnt, Development Gaming, Pragmatic Play to end up being able to supply top quality gambling amusement. In Order To commence enjoying on MostBet, a player requirements to create a good bank account upon the website. Signed Up players may then satisfy their particular on the internet betting desires by simply dipping themselves in the particular sea associated with diverse sports activities and online casino online games available on the particular system.
]]>
Welcome to become in a position to Sam’s Deli, where taste plus high quality arrive together in purchase to generate a great unforgettable dining encounter. As a premier deli in town, we consider satisfaction inside helping the consumers with exceptional meals manufactured through the particular best elements. Regardless Of Whether a person’re looking with consider to a hearty sandwich, a refreshing salad, or even a delicious part plate, we all have some thing to end up being in a position to meet each palate. Through delicious sandwiches to be capable to refreshing salads, the food selection is usually sure to tantalize your own flavor buds. Go To www.mostbet-apk.kg us today in inclusion to knowledge the culinary quality that offers made us a preferred amongst deli enthusiasts within city. “Sam’s Deli in no way disappoints! The Particular sandwiches are generously filled, and the particular flavors are usually excellent. It’s my first choice spot for a fast in add-on to tasty dinner.” – Jessica M.
Your Current private information will be applied to end upward being capable to support your own experience throughout this specific web site, in order to handle accessibility to your bank account, in add-on to for additional functions referred to within our personal privacy policy.

Welcome to become in a position to Sam’s Deli, where taste plus high quality arrive together in purchase to generate a great unforgettable dining encounter. As a premier deli in town, we consider satisfaction inside helping the consumers with exceptional meals manufactured through the particular best elements. Regardless Of Whether a person’re looking with consider to a hearty sandwich, a refreshing salad, or even a delicious part plate, we all have some thing to end up being in a position to meet each palate. Through delicious sandwiches to be capable to refreshing salads, the food selection is usually sure to tantalize your own flavor buds. Go To www.mostbet-apk.kg us today in inclusion to knowledge the culinary quality that offers made us a preferred amongst deli enthusiasts within city. “Sam’s Deli in no way disappoints! The Particular sandwiches are generously filled, and the particular flavors are usually excellent. It’s my first choice spot for a fast in add-on to tasty dinner.” – Jessica M.
Your Current private information will be applied to end upward being capable to support your own experience throughout this specific web site, in order to handle accessibility to your bank account, in add-on to for additional functions referred to within our personal privacy policy.
