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);
So, the particular online casino offers grown into a single regarding the greatest worldwide https://pinup-canadas.com systems providing to all participant requirements.
Pin Upwards has already been demonstrating by itself being a popular participant within typically the gambling market given that the start within 2016. It continuously produces new showcases – online casino websites of which have got the particular similar features in add-on to design as the particular major 1, yet together with diverse domain name titles. In Case a person crave the particular genuineness regarding a land-based wagering establishment without leaving house, Pin Up reside on collection casino is your current approach to end upwards being in a position to go.
Inside add-on, typically the system is well-adapted with respect to all telephone and pill displays, which often enables a person to end upwards being capable to operate games in a typical web browser. Yet continue to, many punters choose with regard to typically the app because of to the particular positive aspects it gives. Please take note that will casino video games are games of chance powered by arbitrary amount power generators, so it’s basically not possible to win all typically the time. However, numerous Pin Number Up casino on-line game titles boast a high RTP, increasing your possibilities associated with obtaining earnings. To offer gamers with unrestricted entry to gambling entertainment, all of us generate decorative mirrors as an alternative way in buy to enter the particular web site.

Pin Upwards also contains a in depth Assist Middle or FREQUENTLY ASKED QUESTIONS area wherever consumers could find responses in purchase to common queries. Matters consist of accounts installation, repayment options, dependable gaming, additional bonuses, plus specialized concerns. Selecting the right on-line online casino will be crucial to enjoy safe and fun video gaming.
The Particular platform’s determination to fair perform, security, in inclusion to consumer pleasure generates an enjoyable and trustworthy gaming atmosphere. Whether you’re a slot lover or a sports gambling fan, Pin-Up On Range Casino gives limitless entertainment and possibilities to be in a position to win. The casino program gives distinctive features to become able to provide Native indian players along with a great betting encounter. Here are usually the characteristics that will create our own program typically the subsequent option with regard to on the internet betting fanatics.
Authorized gamers automatically come to be members regarding the particular bonus program. To create an account at On Line Casino Pinup with consider to gamers through Europe, a person should be above twenty one yrs old. This Specific certificate is 1 of the many typical between online casinos operating close to typically the world. The permit means that will the particular platform’s activities are usually managed plus controlled simply by the particular related authorities. The company is usually obliged to become able to conform with the particular requirements regarding reasonable enjoy, payout associated with winnings plus storage space of user info.
Players may take pleasure in a broad range regarding online games coming from www.pinup-canadas.com top software program suppliers and actually location gambling bets on sporting activities. The Particular online casino provides secure repayment choices in inclusion to superb customer help, generating it an excellent choice with respect to on-line video gaming fans. Typically The official Flag Upwards online casino website in Of india offers a reliable and protected surroundings regarding on the internet gaming enthusiasts. Along With nice bonus deals, soft repayment procedures, and a user-friendly user interface, it provides built a solid popularity amongst its viewers.
We are presently looking at the particular functions and enhancements associated with the particular Pin Number Up software with regard to pinupapp.possuindo. The Particular segment also gives complex online game research and staff in inclusion to person overall performance statistics. Through sports plus golf ball to end up being able to tennis in add-on to additional sports activities, you won’t skip a second. The larger your current status, typically the a lot more benefits you’ll appreciate, coming from enhanced bonuses to become able to special offers personalized merely regarding a person. Every component will be carefully placed, providing a good efficient and enjoyable user experience about typically the Pin-Up platform.
We All provide 24/7 client support services, on-line chat, all set in purchase to assist you together with any kind of questions or concerns you may possibly come across. Almost All Flag up on collection casino video games come with bonuses — and we’re not necessarily simply discussing about enjoyment gameplay. Consider free spins, zero downpayment benefits, succulent downpayment bonuses, in inclusion to also promotional codes of which uncover even more ways to win. It’s your ticket to become in a position to added spins, greater bills, plus a mind start about your current favorite games. Regular competitions together with massive reward swimming pools offer every gamer a chance at large wins. PinUp Online Casino encourages a person to participate within an enormous series of above 5,500 games.
In This Article are usually typically the top causes exactly why Pin Number Upward stands apart in typically the globe of on-line casinos. In inclusion to all the special offers that all of us have got previously covered, Flag Upwards offers other bonus gives. It is improved for various cell phone devices, has a made easier design and style, in addition to functions balanced actually together with a slow internet link. Therefore, players can accessibility the particular whole enjoyment features of the particular online casino anyplace in inclusion to at any time. Regarding Bangladeshi participants, our help group speaks Bangla, which can make the knowledge more pleasurable. We All treatment regarding gamer safety in add-on to pleasure since all of us want to maintain our own very good name.
Discover typically the planet associated with risk-free gambling entertainment together with the assist of a hassle-free trial mode! This is usually an excellent opportunity in purchase to check brand new video games with out danger to be in a position to your own wallet plus invest as a lot period as you would like inside typically the demo variation. Users compliment the particular quick pay-out odds, responsive 24/7 support team, plus the particular total dependability regarding typically the casino’s gambling environment. Pin-Up On Line Casino offers an enormous series of slot machines, offering participants lots regarding distinctive headings in buy to discover. Participants may appreciate slots with various numbers regarding reels in addition to paylines, providing unlimited options for all types of video gaming tastes.
An Individual can locate out the particular suitable combination by starting information about emulators (info button). It will be well worth putting an emphasis on of which the accounts developed by simply the consumer will be general plus ideal for all platforms. The Particular modern on the internet online casino Flag Upwards offers numerous well-liked transaction methods regarding quick money dealings. Along With a varied portfolio regarding sports activities professions, each and every offers its separate web page showcasing the entire routine of forth-coming competitions in inclusion to matches. Every Single brand new entrant to on the internet internet casinos seems forwards in purchase to a good inviting welcome. Players may influence the particular advertising code to be in a position to declare their particular creating an account bonus.
When betting no more seems enjoyment or becomes a source regarding get worried, it may be moment to end upwards being able to take a crack or look for aid. Pin Number Upwards offers a wide variety regarding online casino online games, yet users should usually enjoy smartly. Losing is a organic component associated with betting, plus trying to win back lost money may business lead to bigger issues. Typically The site is usually developed in buy to be useful plus functions easily on both desktop and cell phone devices. Gamers could register quickly plus start playing after validating their particular account. PinUp Upward offers a basic and fascinating sports gambling encounter regarding all players.
At Flag Up Canada, an individual can enjoy roulette-style slot equipment games or survive casino games. Games along with bonuses usually are likewise possible, which often will permit you to win a larger sum. Indian participants could accessibility the particular finest online games plus marketing promotions simply by producing a good account upon typically the Pin Up site or cell phone software. Pin Up offers a cell phone software exclusively for Android, permitting gamers in purchase to appreciate on collection casino games about the proceed. Despite The Very Fact That just already been within procedure for four years, exactly what it offers set upwards warrants to become valued. In This Article, gamers can discover even more as in contrast to a few of,1000 headings from leading software vendors.
Flag Up Online Casino Vip SystemAs a new consumer, a person usually are qualified regarding upward in buy to a 120% added bonus about your own first down payment. The Pinup on collection casino consumer likes the perspective associated with the club personnel towards the particular guests. Likewise, typically the friends of typically the membership commemorate the particular variety regarding slots and obvious actively playing conditions.
However, some gamers express issues about disengagement periods in addition to customer help responsiveness. Flag up online online casino assistance provides superior quality customer assistance at virtually any moment. We try to become capable to make sure a person discover what a person’re seeking regarding plus include typically the many popular sport galleries around the world. Well-known brands for example NetEnt, Microgaming, Development Video Gaming, Play’n GO usually perform not function along with illegitimate or dubious platforms.
]]>
Thus, the particular online casino offers grown into 1 regarding the particular largest international systems providing to pinup all gamer needs.
Flag Upwards offers already been proving itself like a notable player within the particular betting market given that its launch within 2016. It continually generates new showcases – casino websites of which possess the similar characteristics plus design as typically the main one, but with diverse website titles. In Case you crave typically the genuineness associated with a land-based gambling business without having departing residence, Flag Upwards survive online casino is usually your method to move.
Within inclusion, the system will be well-adapted regarding all telephone plus pill screens, which often enables you to become able to run video games within a normal web browser. But continue to, most punters decide regarding the particular app credited in buy to the particular benefits it gives. Make Sure You take note that will on collection casino online games are usually video games regarding possibility powered by simply arbitrary amount power generators, thus it’s just difficult to end up being able to win all typically the moment. On One Other Hand, several Pin Number Upwards casino on the internet titles present a large RTP, improving your probabilities of having income. In Buy To supply gamers with unrestricted accessibility in order to gambling amusement, we produce mirrors as a great alternative way in order to get into typically the website.