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);
Verification can aid make sure real individuals usually are creating the testimonials you study about Trustpilot. Companies can ask regarding reviews through automatic invites. Labeled Validated, they’re concerning genuine activities.Learn even more concerning some other kinds of reviews. “Don’t enjoy typically the coin flip online game — you lose every single time. I played fifteen times plus didn’t obtain just one brain. That’s not really achievable; I consider it breaks or cracks typically the 50/50 principle. So don’t perform it.” Offering incentives with regard to reviews or inquiring with respect to them selectively can tendency the particular TrustScore, which usually goes in opposition to our guidelines. Companies on Trustpilot can’t offer you incentives or pay to hide any kind of evaluations.
We will certainly aid you handle this particular issue just as we possess a complete comprehending associated with the particular situation.Relation, 1win staff. Please send out the right IDENTIFICATION quantity regarding your own sport account. All Of Us will analyze the particular circumstance inside detail plus will definitely assist resolve the particular issue.Regards, 1win group.
Your Current drawback was cancelled by simply typically the bank, presently there are usually no issues upon our own part. All Of Us connect as many transaction methods as achievable thus that will consumers tend not to possess troubles along with withdrawal.In Case the particular disengagement is turned down, the particular cash will become delivered in purchase to your own accounts, plus an individual will become capable to https://www.1win-skachat-app.com pull away it once again. We All do not reduce customers in any approach.Respect, 1win staff. We All checked out typically the drawback history through your current account, in inclusion to typically the procedure status is “Effective”. The cash offers been acknowledged in order to the details you specified.Regards, 1win staff. Any Person can write a Trustpilot evaluation.
Folks who create evaluations possess control to change or remove these people at any time, and they’ll end up being displayed as long as an accounts will be energetic. The Particular downpayment has already been awarded to your own game stability. An Individual could check this specific info within the particular “Details” section on our own web site.We All apologize for the hassle.Respect, 1win staff. We All use dedicated folks plus brilliant technologies in purchase to safeguard our program. Discover out there just how we all overcome phony testimonials. You Should specify the IDENTIFICATION number regarding your own game account plus describe in more fine detail the trouble a person encountered upon the web site.
]]>
With a user friendly software, a thorough assortment regarding online games, and aggressive wagering marketplaces, 1Win guarantees an unparalleled gambling experience. Whether Or Not you’re fascinated within the thrill associated with casino video games, the excitement associated with survive sports activities gambling, or the particular proper enjoy regarding holdem poker, 1Win provides everything under one roof. Typically The mobile version of the 1Win web site features a good user-friendly user interface improved for smaller sized displays.
1Win gives a selection regarding safe plus hassle-free repayment options in order to accommodate in order to players coming from various regions. Whether you favor conventional banking strategies or contemporary e-wallets in addition to cryptocurrencies, 1Win has a person protected. In Case an individual choose to register via email, all a person require to футбол аматори carry out is usually enter your current proper e-mail address in inclusion to produce a security password in purchase to record inside.
Accounts confirmation will be a essential step that will boosts security and ensures complying together with global betting regulations. Validating your bank account enables you in purchase to withdraw profits and access all characteristics without having limitations. 1Win is managed simply by MFI Investments Minimal, a organization authorized plus certified inside Curacao. The 1Win iOS software gives the full spectrum associated with gambling in addition to wagering alternatives in buy to your own i phone or apple ipad, together with a style enhanced with respect to iOS devices. 1Win is usually dedicated to offering superb customer care to make sure a clean and enjoyable experience regarding all participants.
The Two offer you a extensive selection regarding functions, ensuring consumers may appreciate a seamless gambling knowledge throughout devices. While typically the cellular site offers convenience by means of a responsive design and style, the particular 1Win application enhances the knowledge together with optimized overall performance in addition to additional functionalities. Comprehending the particular distinctions and functions of every platform allows users pick typically the the majority of appropriate choice for their particular gambling needs.
In Buy To supply gamers together with typically the convenience regarding gambling upon the go, 1Win gives a devoted cell phone application appropriate along with each Android os in addition to iOS devices. Typically The main part of the assortment is a variety of slot equipment game machines for real funds, which usually allow you to take away your current earnings. Handling your current cash upon 1Win will be developed in order to be useful, enabling a person in order to focus on enjoying your current video gaming encounter. New players could consider advantage regarding a good delightful reward, providing an individual even more options to end upwards being in a position to enjoy in inclusion to win. Whether Or Not you’re a seasoned gambler or brand new to sporting activities betting, understanding the particular types of gambling bets plus implementing proper suggestions can boost your current knowledge.
Furthermore, 1Win provides a cell phone application appropriate with both Android os in add-on to iOS devices, guaranteeing of which gamers could enjoy their favored video games about the proceed. Pleasant in order to 1Win, the premier vacation spot for online on range casino gambling in add-on to sporting activities betting fanatics. Given That their organization in 2016, 1Win offers quickly grown right in to a major system, giving a vast array of wagering alternatives that will cater in purchase to each novice and seasoned participants.
A Person will then end up being directed a good e-mail to validate your enrollment, and you will need to simply click upon the link delivered within the e-mail to complete the particular process. If a person choose to be capable to sign up via cellular phone, all you want to do is enter your own lively telephone number and click on about the particular “Register” switch. After that a person will become sent a good TEXT MESSAGE with logon and security password to end up being able to accessibility your own personal accounts. Indeed, a person could withdraw bonus funds following meeting typically the gambling needs particular inside the particular added bonus phrases plus problems. Become positive in buy to read these requirements cautiously to know exactly how a lot a person require in order to gamble prior to withdrawing.
Furthermore, consumers may access consumer support via live chat, email, plus phone directly from their own cell phone devices. The Particular website’s homepage conspicuously exhibits the particular the the better part of well-liked games plus gambling activities, permitting consumers in order to quickly accessibility their particular favorite options. Together With more than just one,500,500 active users, 1Win provides set up by itself being a trustworthy name within the particular on the internet betting industry. The Particular platform gives a broad variety of providers, which include an considerable sportsbook, a rich online casino area, survive dealer video games, and a dedicated poker space.
]]>
Verification can aid make sure real individuals usually are creating the testimonials you study about Trustpilot. Companies can ask regarding reviews through automatic invites. Labeled Validated, they’re concerning genuine activities.Learn even more concerning some other kinds of reviews. “Don’t enjoy typically the coin flip online game — you lose every single time. I played fifteen times plus didn’t obtain just one brain. That’s not really achievable; I consider it breaks or cracks typically the 50/50 principle. So don’t perform it.” Offering incentives with regard to reviews or inquiring with respect to them selectively can tendency the particular TrustScore, which usually goes in opposition to our guidelines. Companies on Trustpilot can’t offer you incentives or pay to hide any kind of evaluations.
We will certainly aid you handle this particular issue just as we possess a complete comprehending associated with the particular situation.Relation, 1win staff. Please send out the right IDENTIFICATION quantity regarding your own sport account. All Of Us will analyze the particular circumstance inside detail plus will definitely assist resolve the particular issue.Regards, 1win group.
Your Current drawback was cancelled by simply typically the bank, presently there are usually no issues upon our own part. All Of Us connect as many transaction methods as achievable thus that will consumers tend not to possess troubles along with withdrawal.In Case the particular disengagement is turned down, the particular cash will become delivered in purchase to your own accounts, plus an individual will become capable to https://www.1win-skachat-app.com pull away it once again. We All do not reduce customers in any approach.Respect, 1win staff. We All checked out typically the drawback history through your current account, in inclusion to typically the procedure status is “Effective”. The cash offers been acknowledged in order to the details you specified.Regards, 1win staff. Any Person can write a Trustpilot evaluation.
Folks who create evaluations possess control to change or remove these people at any time, and they’ll end up being displayed as long as an accounts will be energetic. The Particular downpayment has already been awarded to your own game stability. An Individual could check this specific info within the particular “Details” section on our own web site.We All apologize for the hassle.Respect, 1win staff. We All use dedicated folks plus brilliant technologies in purchase to safeguard our program. Discover out there just how we all overcome phony testimonials. You Should specify the IDENTIFICATION number regarding your own game account plus describe in more fine detail the trouble a person encountered upon the web site.
]]>