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); In the rapidly evolving world of online gaming, App BC.Game APP BC.Game stands out as a pioneering platform that combines entertainment with the thrill of cryptocurrency. The rise of blockchain technology has led to a new wave of online gaming experiences, and BC.Game is at the forefront of this revolution. With its user-friendly interface, generous bonuses, and a wide range of games, BC.Game is designed to cater to both casual gamers and serious players alike. BC.Game is an innovative online casino platform that utilizes blockchain technology to offer players a transparent and secure gaming experience. The platform is committed to fair play, boasting a provably fair mechanism that ensures the integrity of every game. Players can enjoy a variety of games including slots, table games, and live dealer experiences, all while taking advantage of the numerous features and bonuses available on the site. 1. **Diverse Game Selection**: One of the standout features of the BC.Game platform is its extensive library of games. Players can find everything from classic casino games to innovative slot machines. The developers continually update the game catalog, ensuring there are always new games to explore. 2. **Provably Fair Gaming**: Ensuring player trust is crucial, and BC.Game addresses this through its provably fair gaming technology. This feature allows players to verify the fairness of game outcomes, providing peace of mind and promoting transparency. 3. **Generous Bonuses and Promotions**: BC.Game offers an array of bonuses to both new and existing players. From welcome bonuses to loyalty programs, players can take advantage of these incentives to maximize their gaming experience. Regular promotions are also common, keeping the excitement levels high.
What is BC.Game?
Key Features of App BC.Game
4. **User-Friendly Interface**: The BC.Game platform is designed with the user in mind. Its clean layout and intuitive navigation make it easy for players to find their favorite games, track their bets, and access their accounts, whether on desktop or mobile.

Starting your journey on BC.Game is straightforward. Players can create an account using a valid email address or opt for more anonymous methods using cryptocurrencies. Once registered, users can deposit their preferred cryptocurrencies, allowing for seamless transactions without the need for traditional banking methods.
In today’s fast-paced world, mobile gaming has become essential, and BC.Game has adapted exceptionally well to this trend. The App BC.Game allows players to enjoy their favorite games on the go. The mobile platform is optimized for both iOS and Android devices, ensuring a smooth and enjoyable gaming experience. Players can enjoy the same features and functionality as the desktop version, making it incredibly versatile.
BC.Game isn’t just a gaming platform; it’s a vibrant community of players from around the world. The platform incorporates social features that allow players to interact, share experiences, and participate in community events. Players can chat with each other, join forums, and take part in tournaments, fostering a sense of belonging among users.
Another major aspect of BC.Game is its focus on security. The platform employs advanced encryption technology to protect players’ information and ensure safe transactions. Additionally, a dedicated customer support team is available round the clock to assist with any issues or questions players may have, reinforcing the platform’s commitment to a safe and enjoyable gaming environment.
As technology continues to evolve, so too will BC.Game. The team behind the platform is continually exploring new features, games, and ways to enhance user experience. The future looks bright as BC.Game aims to expand its game library, incorporate innovative technologies, and increase its global reach. Regular updates and new features keep the platform exciting and engaging for both new and returning players.
In conclusion, App BC.Game represents a significant advancement in the world of online gaming. With its unique features, commitment to fairness, and engaging community, it offers players an unparalleled gaming experience. Whether you are a casual gamer or a seasoned pro, BC.Game provides the tools and opportunities to enhance your online gaming adventure. As the platform continues to grow and evolve, players can expect nothing short of excitement and innovation. Dive into the world of BC.Game and experience the future of gaming today!
]]>
In recent years, the online gaming industry has seen tremendous growth, giving rise to various platforms where players can engage, compete, and win. One such engaging platform is BC Game Japan, which integrates cutting-edge technology, a diverse range of games, and an enthusiastic community. For those looking to take their gaming experience to the next level, BC Game Japan japan-bcgame.com is the ideal destination. In this article, we will delve into the various aspects of BC Game Japan, explore its unique features, and discuss why it has captured the hearts of gamers across the country.
BC Game Japan is a localization of the globally recognized BC Game. Launched to cater specifically to Japanese players, this platform combines traditional elements of gaming with modern incentives like cryptocurrency and blockchain technology. By providing a user-friendly interface and ensuring seamless navigation, BC Game Japan has effectively filled a gap in the market for local gamers.
One of the standout features of BC Game Japan is its extensive array of games. The platform offers a mix of traditional casino games and innovative blockchain-based games. Players can find popular options like:

Additionally, BC Game Japan frequently updates its game library, ensuring that players always have something new to explore. This commitment to a diverse gaming portfolio keeps the excitement alive and encourages players to return regularly.
Among the various games available, slots remain one of the favorite choices for many players. BC Game Japan offers numerous slot games with vibrant graphics and engaging themes. Players can choose from classic fruit slots to adventurous story-based slots, each offering unique bonuses and multipliers. The thrill of spinning the reels and the possibility of hitting a big jackpot contribute to the popularity of slots on this platform.
One of the most revolutionary aspects of BC Game Japan is its integration of cryptocurrency into the gaming experience. Players can deposit, bet, and withdraw using various cryptocurrencies, including Bitcoin and Ethereum. This not only provides an additional layer of security but also allows players to enjoy a more anonymous gaming experience. Furthermore, the use of blockchain technology ensures transparency and fairness in all transactions and game outcomes.
BC Game Japan knows how to keep its players happy, and a significant part of that is through generous rewards and promotional offers. New players are often welcomed with enticing bonuses, including free spins and deposit matches. For returning players, daily, weekly, and monthly promotions enhance the gaming experience. Players can also earn loyalty points that can be redeemed for various prizes or benefits, creating an environment that values and rewards consistent play.

An essential element of BC Game Japan is its thriving community. The platform encourages interaction among players, which transforms the gaming experience from solitary play to an engaging social activity. Players can participate in chat rooms, group games, and tournaments, fostering a sense of companionship. Moreover, the platform often organizes events that allow players to compete against each other for substantial prizes, making community engagement a central focus.
When engaging with an online gaming platform, security and customer support are paramount. BC Game Japan has implemented robust security measures to safeguard user data and transactions. Players can rest assured knowing that their confidential information is protected. Furthermore, the customer support team is available 24/7 to assist with any inquiries or issues, ensuring a smooth gaming experience.
In today’s fast-paced world, the ability to enjoy gaming on the go is crucial. BC Game Japan has developed a responsive mobile platform that allows players to access their favorite games anytime and anywhere. Whether using a smartphone or tablet, players will find that the gameplay remains smooth, and the graphics are visually appealing, making mobile gaming a pleasurable experience.
BC Game Japan represents a new era in online gaming, where technology merges with traditional gaming elements to create an unparalleled experience. Its diverse game offerings, cryptocurrency integration, community engagement, and excellent customer support make it a leading destination for gamers in Japan. For anyone looking to join an exciting gaming platform that caters to their needs, BC Game Japan is undoubtedly worth exploring.
In conclusion, as the online gaming landscape continues to evolve, platforms like BC Game Japan will play a significant role in shaping the future of gaming. Whether you’re a seasoned gamer or a newcomer, the thrill of BC Game Japan awaits, promising countless hours of entertainment and excitement.
]]>
In the ever-evolving landscape of online gaming, BC.Game Casino casino BC.Game stands out as a premier destination for gaming enthusiasts. Whether you are a seasoned player or new to the world of online casinos, BC.Game offers an engaging platform that combines innovative technology, a vast array of games, and enticing rewards. This article delves deep into what makes BC.Game Casino such a popular choice among players worldwide.
BC.Game Casino is an online gaming platform that has taken the iGaming industry by storm. Established to provide an all-encompassing gaming experience, it offers players a diverse selection of games, including slots, table games, and live dealer options. With its user-friendly interface and state-of-the-art security measures, BC.Game ensures that players can enjoy their favorite games safely and conveniently.
One of the hallmarks of BC.Game Casino is its extensive game library. It features a plethora of gaming options catering to every player’s taste:
BC.Game is not just about a vast selection of games; it also offers unique features that enhance the gaming experience:

Player security is a top priority for BC.Game Casino. The platform is equipped with advanced encryption technology to protect player data and financial transactions. Additionally, the use of cryptocurrencies adds a layer of anonymity, allowing players to enjoy their gaming experience without compromising their personal information.
In today’s fast-paced world, the ability to play on the go is essential. BC.Game Casino recognizes this and offers a fully optimized mobile platform. Players can access their favorite games from their smartphones or tablets, making it easy to enjoy gaming anytime and anywhere.
BC.Game values customer satisfaction and offers robust customer support. Players can reach out to the support team through various channels, including live chat and email. The team is responsive and knowledgeable, ensuring that any issues or concerns are addressed promptly.
Whether you’re looking to spin the reels of your favorite slots or challenge the dealer in a game of blackjack, BC.Game Casino has something for everyone. With its extensive game selection, innovative features, and commitment to player satisfaction, it’s no wonder that BC.Game is rapidly becoming one of the leading online casinos in the industry.
So, if you’re ready to dive into a world of excitement and potential winnings, don’t hesitate to join BC.Game Casino. Sign up today and take advantage of the fantastic bonuses and promotions waiting for you!
BC.Game Casino is more than just an online gambling platform; it’s a community of players who share a passion for gaming. With cutting-edge technology, a commitment to security, and a wide array of games, it stands out in the competitive online gambling market. Whether you’re a crypto enthusiast or simply looking for a reliable and fun place to play, BC.Game Casino is sure to meet and exceed your expectations.
]]>