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);
Within this particular bonus, a person receive 500% about typically the 1st several build up regarding up in purchase to 183,200 PHP (200%, 150%, 100%, plus 50%). Typically The sign in procedure will be completed efficiently and the particular user will be automatically moved in order to the particular main webpage regarding the application with an currently sanctioned bank account. Superstar Wars Battlefront a few of offers a powerful plus immersive multiplayer encounter, plus Star Credit Cards perform a pivotal role within surrounding your current gameplay. Go Through the following instructions to learn how in buy to location gambling bets upon this system.
1win will be the particular recognized application for this popular wagering support, coming from which an individual could create your predictions upon sports such as sports, tennis, and hockey. To Become In A Position To add to become in a position to the particular exhilaration, an individual’ll likewise have got the choice in purchase to bet live in the course of countless showcased activities. In add-on, this business provides numerous casino video games through which often you may analyze your own luck. It will be a best solution with respect to all those who else prefer not necessarily to acquire added added software about their own smartphones or tablets . Talking about features, the particular 1Win cell phone site will be the same as the particular desktop computer edition or typically the software. Hence, a person might take pleasure in all obtainable bonuses, play 11,000+ games, bet about 40+ sports, and more.
The major characteristics of the 1win real application will end upward being explained in the particular table below. The 1win get is usually quick, easy, in add-on to safe, developed in buy to get an individual began along with little inconvenience. We All know you’re excited in buy to begin gambling, therefore we’ve streamlined typically the app down load method regarding each Android os and iOS. We’ll also guideline an individual upon exactly how to avoid bogus or destructive apps, guaranteeing a smooth plus protected start to your own 1win journey. Typically The official 1win app with regard to android and the 1win application for ios are effortless in order to obtain. In buy to end upward being in a position to commence gambling for real cash or enjoying online casino video games right after doing the 1win software download, 1 needs to end upward being capable to register a great account by way of the software.
Yet in case an individual continue to stumble after these people, you may possibly contact the particular client help services in add-on to handle any kind of problems 24/7. Check Out the major functions associated with the particular 1Win application an individual may consider benefit associated with. Blessed Jet online game is usually similar to Aviator plus characteristics the particular exact same aspects. The Particular just distinction will be that will an individual bet on typically the Lucky Later on, who else lures along with the jetpack. In This Article, an individual can furthermore stimulate a good Autobet choice thus the system could place the particular same bet throughout every single some other online game rounded. The app furthermore supports virtually any additional system that fulfills the program needs.
Down Load typically the 1Win software today in inclusion to receive a +500% reward on your current first deposit up to ₹80,500. If you’re a good Google android consumer, getting at the particular 1win software needs a guide installation associated with a great .apk document. It is usually not necessarily difficult, plus all of us offer the particular complete plus detailed guide under. Retain in brain even though of which downloading it plus installing APK documents through unofficial options may possibly present security hazards.
Notice that the 1win app mobile APK demands a good Google android functioning method associated with at least Several.zero. Completely, the particular 1win iOS application will be compatible together with all Apple company devices along with iOS twelve.0 in addition to newer. This Specific unified strategy keeps your apps up to date with out guide intervention. When typically the application still doesn’t up-date, uninstall it plus download a new edition through the website manually or contact support. The Particular 1win mobile system functions in accordance along with worldwide gambling rules (KYC/AML) and does not disobey typically the laws associated with Kenya.
Regarding all those gamers that bet on a smart phone, we all possess created a full-fledged cellular application. It performs about Android plus iOS in addition to provides typically the exact same wagering functions as the official internet site. Within this specific evaluation, all of us will cover the particular main betting and casino characteristics plus explain in details how to be capable to down load the 1win software. Typically The consumer support brokers usually are very easily contactable through the particular 1win software. When an individual experience any sort of problems or possess a query whilst betting or wagering upon the proceed, an individual may usually attain out to end upwards being capable to typically the team via typically the following media.
Checking Out the particular existing special offers and bonuses on the 1win software within Pakistan reveals a treasure trove regarding options for cell phone customers. Brand New consumers could start their own wagering trip with a good impressive welcome bonus associated with 500%, permitting these people to receive upward to 243,950 PKR on their first deposit. Whenever it will come to repayments in addition to debris, the options in the cell phone app match up those on typically the desktop edition. This Specific overall flexibility enables a person to end upward being capable to stick to your preferred payment procedures, end upwards being it credit score cards, e-wallets, or regional Pakistani providers like Easypaisa.
As along with any sort of reward, right right now there usually are particular phrases and conditions that an individual need to be mindful regarding. Velocity ‘n’ Money will be a active slot machine game that will combines the excitement associated with race with the thrill regarding successful large. If you possess issues using typically the 1Win app regarding iOS or Android os 1win, a person may attempt to end upwards being able to resolve them your self.
Typically The cell phone browser version plus the particular 1win software usually are related in several techniques, yet they will continue to have certain differences. Start your 1Win wagering quest together with a great exclusive delightful offer! Whenever starting a fresh accounts through the software, an individual will be made welcome with a 500% bonus upward to be capable to €1150. Typically The 1Win Online Casino app provides a premier gambling knowledge correct at your own convenience. Begin on your own betting trip together with 1Win plus find out a globe of unlimited possibilities. Simply Click 1Win get today, state typically the exclusive pleasant added bonus associated with up to €1150 and begin inserting your current gambling bets upon your favorite sports.
At Present, a lot more than 12,500 video games plus countless numbers associated with best fits plus competitions are usually accessible via the particular software. The software is protected as it is usually subjected to become capable to typically the similar norms and regulations as the particular established web site. Thank You to become in a position to SSL security, any sensitive information a person obtain through 1Win or the 1 sent to become capable to the particular server is usually dependably safeguarded. In This Article a person may bet upon cricket, kabaddi, plus additional sports activities, enjoy online casino, get great bonuses, in add-on to view reside fits. All Of Us offer you each and every user the particular many profitable, risk-free plus comfy online game conditions.
A Person need to activate automatic updates in your phone’s configurations. When that doesn’t function, an individual can proceed to become capable to the particular site and get typically the latest variation. Right After that, your private gambling accounts will become created in inclusion to an individual will become automatically logged in. Each match up provides its very own webpage where users may find a large number associated with market segments (Match Winner, Complete, Problème, Corner leg techinques, Player Stats plus others). In inclusion, it will be important to become able to take note that customers may view free of charge sports complement messages along with study team stats.
Not Necessarily numerous fits are usually accessible with regard to this sport, nevertheless an individual can bet about all Significant Group Kabaddi events. Coming From it, a person will obtain additional winnings for each and every effective single bet with probabilities regarding three or more or even more. Right Now There are simply no differences within typically the amount associated with events obtainable with consider to betting, typically the sizing regarding bonuses plus circumstances regarding betting. You’ll then find typically the 1win icon on your own home display screen plus an individual can get directly into the world of wagering with 1 click!
At existing, 1Win offers a added bonus of $100 (equivalent in order to ₹8,300). On putting in the particular 1win application on your Android or iOS device, the particular amount will become acknowledged automatically in purchase to your own reward account. Today, let’s discover just what sets typically the 1win cell phone app aside from the website. Knowing these variations could assist you determine which usually platform aligns along with your current video gaming preferences. Preserving your 1win application up to become capable to time will be essential regarding safety and overall performance innovations. Since right today there is simply no dedicated 1win application obtainable in typically the Search engines Enjoy Store or Application Shop, updating the app will be not necessarily possible via conventional app shops.
]]>
Right After that will, Brazilian retained possession, but didn’t put about real pressure in purchase to put a next inside front side of 75,1000 followers. “We a new great match up once again in addition to all of us keep along with practically nothing,” Lorenzo mentioned. “We well deserved a whole lot more, when once again.” Republic Of Colombia 1win colombia will be in sixth spot with 19 points. Goalkeeper Alisson in inclusion to Colombian defender Davinson Sánchez were substituted within typically the concussion process, plus will furthermore overlook the particular following match up inside Planet Glass qualifying.
Paraguay stayed unbeaten under instructor Gustavo Alfaro with a tight 1-0 win more than Chile within front side of raucous enthusiasts inside Asuncion. The hosts completely outclassed the vast majority of associated with the particular complement and taken care of pressure upon their particular competitors, who can barely produce scoring opportunities. SAO PAULO (AP) — A last-minute goal by Vinicius Júnior anchored Brazil’s 2-1 win above Republic Of Colombia within World Mug qualifying on Thursday Night, supporting the group plus hundreds of thousands regarding followers stay away from a great deal more frustration. Brazil appeared even more stimulated as in comparison to within previous online games, together with speed, higher skill plus a good earlier objective from the particular area indicating that instructor Dorival Júnior had found a starting selection in order to acquire the career completed. Raphinha scored inside typically the sixth minute following Vinicius Júnior had been fouled inside typically the charges package.
]]>