/** * Theme functions and definitions. * * Sets up the theme and provides some helper functions * * When using a child theme (see https://codex.wordpress.org/Theme_Development * and https://codex.wordpress.org/Child_Themes), you can override certain * functions (those wrapped in a function_exists() call) by defining them first * in your child theme's functions.php file. The child theme's functions.php * file is included before the parent theme's file, so the child theme * functions would be used. * * * For more information on hooks, actions, and filters, * see https://codex.wordpress.org/Plugin_API * * @package Modarch WordPress theme */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } if(!defined('MODARCH_THEME_VERSION')){ define('MODARCH_THEME_VERSION', '1.0.0'); } if(!class_exists('Modarch_Theme_Class')){ final class Modarch_Theme_Class { /** * @var string $template_dir_path */ public static $template_dir_path = ''; /** * @var string $template_dir_url */ public static $template_dir_url = ''; /** * @var Modarch_Ajax_Manager $ajax_manager; */ public $ajax_manager; /** * @var string $extra_style */ protected $extra_style = ''; /** * A reference to an instance of this class. * * @since 1.0.0 * @access private * @var object */ private static $instance = null; /** * Main Theme Class Constructor * * @since 1.0.0 */ public function __construct() { self::$template_dir_path = get_template_directory(); self::$template_dir_url = get_template_directory_uri(); // Define constants add_action( 'after_setup_theme', array( $this, 'constants' ), 0 ); // Load all core theme function files add_action( 'after_setup_theme', array( $this, 'include_functions' ), 1 ); // Load configuration classes add_action( 'after_setup_theme', array( $this, 'configs' ), 3 ); // Load framework classes add_action( 'after_setup_theme', array( $this, 'classes' ), 4 ); // Setup theme => add_theme_support: register_nav_menus, load_theme_textdomain, etc add_action( 'after_setup_theme', array( $this, 'theme_setup' ) ); add_action( 'after_setup_theme', array( $this, 'theme_setup_default' ) ); // register sidebar widget areas add_action( 'widgets_init', array( $this, 'register_sidebars' ) ); /** Admin only actions **/ if( is_admin() ) { // Load scripts in the WP admin add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) ); add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'admin_scripts' ) ); add_action( 'enqueue_block_assets', array( $this, 'admin_scripts' ) ); } /** Non Admin actions **/ else{ // Load theme CSS add_action( 'wp_enqueue_scripts', array( $this, 'theme_css' ) ); // Load theme js add_action( 'wp_enqueue_scripts', array( $this, 'theme_js' ), 99 ); // Add a pingback url auto-discovery header for singularly identifiable articles add_action( 'wp_head', array( $this, 'pingback_header' ), 1 ); // Add meta viewport tag to header add_action( 'wp_head', array( $this, 'meta_viewport' ), 1 ); // Add meta apple web app capable tag to header add_action( 'wp_head', array( $this, 'apple_mobile_web_app_capable_header' ), 1 ); // Add an X-UA-Compatible header add_filter( 'wp_headers', array( $this, 'x_ua_compatible_headers' ) ); // Add support for Elementor Pro locations add_action( 'elementor/theme/register_locations', array( $this, 'register_elementor_locations' ) ); // Load External Resources add_action( 'wp_footer', array( $this, 'load_external_resources' ) ); } add_action( 'elementor/init', array( $this, 'register_breakpoint' ) ); require_once get_theme_file_path('/framework/classes/ajax-manager.php'); $this->ajax_manager = new Modarch_Ajax_Manager(); } 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; } /** * Define Constants * * @since 1.0.0 */ public function constants() {} /** * Load all core theme function files * * @since 1.0.0 */ public function include_functions() { require_once get_theme_file_path('/framework/functions/helpers.php'); require_once get_theme_file_path('/framework/functions/theme-hooks.php'); require_once get_theme_file_path('/framework/functions/theme-functions.php'); require_once get_theme_file_path('/framework/third/lastudio-kit.php'); require_once get_theme_file_path('/framework/third/give.php'); } /** * Configs for 3rd party plugins. * * @since 1.0.0 */ public function configs() { // WooCommerce if(function_exists('WC')){ require_once get_theme_file_path('/framework/woocommerce/woocommerce-config.php'); } } /** * Load theme classes * * @since 1.0.0 */ public function classes() { // Admin only classes if ( is_admin() ) { // Recommend plugins require_once get_theme_file_path('/tgm/class-tgm-plugin-activation.php'); require_once get_theme_file_path('/tgm/tgm-plugin-activation.php'); } require_once get_theme_file_path('/framework/classes/admin.php'); // Breadcrumbs class require_once get_theme_file_path('/framework/classes/breadcrumbs.php'); new Modarch_Admin(); } /** * Theme Setup * * @since 1.0.0 */ public function theme_setup() { $ext = apply_filters('modarch/use_minify_css_file', false) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min'; // Load text domain load_theme_textdomain( 'modarch', self::$template_dir_path .'/languages' ); // Get globals global $content_width; // Set content width based on theme's default design if ( ! isset( $content_width ) ) { $content_width = 1200; } // Register navigation menus register_nav_menus( array( 'main-nav' => esc_attr_x( 'Main Navigation', 'admin-view', 'modarch' ) ) ); // Enable support for Post Formats add_theme_support( 'post-formats', array( 'video', 'gallery', 'audio', 'quote', 'link' ) ); // Enable support for tag add_theme_support( 'title-tag' ); // Add default posts and comments RSS feed links to head add_theme_support( 'automatic-feed-links' ); // Enable support for Post Thumbnails on posts and pages add_theme_support( 'post-thumbnails' ); /** * Enable support for header image */ add_theme_support( 'custom-header', apply_filters( 'modarch/filter/custom_header_args', array( 'width' => 2000, 'height' => 1200, 'flex-height' => true, 'video' => true, ) ) ); add_theme_support( 'custom-background' ); // Declare WooCommerce support. add_theme_support( 'woocommerce' ); if( modarch_string_to_bool( modarch_get_theme_mod('woocommerce_gallery_zoom') ) ){ add_theme_support( 'wc-product-gallery-zoom'); } if( modarch_string_to_bool( modarch_get_theme_mod('woocommerce_gallery_lightbox') ) ){ add_theme_support( 'wc-product-gallery-lightbox'); } add_theme_support( 'wc-product-gallery-slider'); // Support WP Job Manager add_theme_support( 'job-manager-templates' ); // Add editor style add_editor_style( 'assets/css/editor-style.css' ); // Adding Gutenberg support add_theme_support( 'align-wide' ); add_theme_support( 'wp-block-styles' ); add_theme_support( 'responsive-embeds' ); add_theme_support( 'editor-styles' ); add_editor_style( 'assets/css/gutenberg-editor.css' ); add_theme_support( 'editor-color-palette', array( array( 'name' => esc_attr_x( 'pale pink', 'admin-view', 'modarch' ), 'slug' => 'pale-pink', 'color' => '#f78DA7', ), array( 'name' => esc_attr_x( 'theme primary', 'admin-view', 'modarch' ), 'slug' => 'modarch-theme-primary', 'color' => '#FF7F1D', ), array( 'name' => esc_attr_x( 'theme secondary', 'admin-view', 'modarch' ), 'slug' => 'modarch-theme-secondary', 'color' => '#303030', ), array( 'name' => esc_attr_x( 'strong magenta', 'admin-view', 'modarch' ), 'slug' => 'strong-magenta', 'color' => '#A156B4', ), array( 'name' => esc_attr_x( 'light grayish magenta', 'admin-view', 'modarch' ), 'slug' => 'light-grayish-magenta', 'color' => '#D0A5DB', ), array( 'name' => esc_attr_x( 'very light gray', 'admin-view', 'modarch' ), 'slug' => 'very-light-gray', 'color' => '#EEEEEE', ), array( 'name' => esc_attr_x( 'very dark gray', 'admin-view', 'modarch' ), 'slug' => 'very-dark-gray', 'color' => '#444444', ), ) ); remove_theme_support( 'widgets-block-editor' ); add_theme_support('lastudio', [ 'lakit-swatches' => true, 'revslider' => true, 'header-builder' => [ 'menu' => true, 'header-vertical' => true ], 'lastudio-kit' => true, 'elementor' => [ 'advanced-carousel' => false, 'ajax-templates' => false, 'css-transform' => false, 'floating-effects' => false, 'wrapper-links' => false, 'lastudio-icon' => true, 'custom-fonts' => true, 'mega-menu' => true, 'product-grid-v2' => true, 'slides-v2' => true, 'inline-icon' => true, 'cart-fragments' => true, 'swiper-dotv2' => true, 'optimize-bnlist' => true, 'newsletter-v2' => true, ], 'e_dynamic_tags' => [ 'wishlist' => true, 'compare' => true, 'cart' => true, 'search' => true, 'my-account' => true, ] ]); } /** * Theme Setup Default * * @since 1.0.0 */ public function theme_setup_default(){ $check_theme = get_option('modarch_has_init', false); if(!$check_theme || !get_option('lastudio-kit-settings')){ $cpt_supports = ['page', 'post']; if( post_type_exists('la_portfolio') ){ $cpt_supports[] = ['la_portfolio']; } if( post_type_exists('give_forms') ){ $cpt_supports[] = ['give_forms']; } update_option('modarch_has_init', true); update_option( 'elementor_cpt_support', $cpt_supports ); update_option( 'elementor_enable_inspector', '' ); update_option( 'elementor_experiment-e_optimized_markup', 'active' ); update_option( 'lastudio-kit-settings', [ 'svg-uploads' => 'enabled', 'lastudio_kit_templates' => 'enabled', 'single_post_template' => 'templates/fullwidth.php', 'single_page_template' => 'templates/fullwidth.php', 'avaliable_extensions' => [ 'album_content_type' => 'false', 'event_content_type' => 'false', 'portfolio_content_type' => 'true', 'motion_effects' => 'true', 'custom_css' => 'true', 'floating_effects' => 'false', 'wrapper_link' => 'false', 'css_transform' => 'false', 'element_visibility' => 'true' ] ] ); $customizes = []; if(!empty($customizes)){ foreach ($customizes as $k => $v){ set_theme_mod($k, $v); } } } } /** * Adds the meta tag to the site header * * @since 1.0.0 */ public function pingback_header() { if ( is_singular() && pings_open() ) { printf( '<link rel="pingback" href="%s">' . "\n", esc_url( get_bloginfo( 'pingback_url' ) ) ); } } /** * Adds the meta tag to the site header * * @since 1.0.0 */ public function apple_mobile_web_app_capable_header() { echo sprintf( '<meta name="mobile-web-app-capable" content="yes">' ); $meta_theme_color = sprintf( '<meta name="theme-color" content="%1$s">', get_theme_mod('primary_color', '#fff')); echo apply_filters( 'modarch_meta_theme_color', $meta_theme_color ); } /** * Adds the meta tag to the site header * * @since 1.0.0 */ public function meta_viewport() { // Meta viewport $viewport = '<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">'; // Apply filters for child theme tweaking echo apply_filters( 'modarch_meta_viewport', $viewport ); } /** * Load scripts in the WP admin * * @since 1.0.0 */ public function admin_scripts() { // Load font icon style wp_enqueue_style( 'modarch-font-lastudioicon', get_theme_file_uri( '/assets/css/lastudioicon.min.css' ), false, '1.0.0' ); wp_enqueue_style( 'modarch-typekit-fonts', $this->enqueue_typekit_fonts_url() , array(), null ); wp_enqueue_style( 'modarch-google-fonts', $this->enqueue_google_fonts_url() , array(), null ); } /** * Load front-end scripts * * @since 1.0.0 */ public function theme_css() { $theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : MODARCH_THEME_VERSION; $ext = apply_filters('modarch/use_minify_css_file', false) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min'; wp_enqueue_style( 'modarch-theme', get_parent_theme_file_uri('/style'.$ext.'.css'), false, $theme_version ); $this->render_extra_style(); $additional_inline_stype = modarch_minimizeCSS($this->extra_style); $inline_handler_name = 'modarch-theme'; if(modarch_is_woocommerce()){ wp_enqueue_style( 'modarch-woocommerce', get_theme_file_uri( '/assets/css/woocommerce'.$ext.'.css' ), false, $theme_version ); $inline_handler_name = 'modarch-woocommerce'; } wp_add_inline_style($inline_handler_name, $additional_inline_stype); } /** * Returns all js needed for the front-end * * @since 1.0.0 */ public function theme_js() { $theme_version = defined('WP_DEBUG') && WP_DEBUG ? time() : MODARCH_THEME_VERSION; $ext = !apply_filters('modarch/use_minify_js_file', true) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min'; // Get localized array $localize_array = $this->localize_array(); wp_register_script( 'pace', get_theme_file_uri('/assets/js/lib/pace'.$ext.'.js'), null, $theme_version, true); wp_register_script( 'js-cookie', get_theme_file_uri('/assets/js/lib/js.cookie'.$ext.'.js'), array('jquery'), $theme_version, true); wp_register_script( 'jquery-featherlight', get_theme_file_uri('/assets/js/lib/featherlight'.$ext.'.js') , array('jquery'), $theme_version, true); $dependencies = array( 'jquery', 'js-cookie', 'jquery-featherlight'); if( modarch_string_to_bool( modarch_get_theme_mod('page_preloader') ) ){ $dependencies[] = 'pace'; } if(function_exists('WC')){ $dependencies[] = 'modarch-woocommerce'; } $dependencies = apply_filters('modarch/filter/js_dependencies', $dependencies); wp_enqueue_script('modarch-theme', get_theme_file_uri( '/assets/js/app'.$ext.'.js' ), $dependencies, $theme_version, true); if (is_singular() && comments_open() && get_option('thread_comments')) { wp_enqueue_script('comment-reply'); } if(apply_filters('modarch/filter/force_enqueue_js_external', true)){ wp_localize_script('modarch-theme', 'la_theme_config', $localize_array ); } if(function_exists('la_get_polyfill_inline')){ $polyfill_data = apply_filters('modarch/filter/js_polyfill_data', [ 'modarch-polyfill-object-assign' => [ 'condition' => '\'function\'==typeof Object.assign', 'src' => get_theme_file_uri( '/assets/js/lib/polyfill-object-assign'.$ext.'.js' ), 'version' => $theme_version, ], 'modarch-polyfill-css-vars' => [ 'condition' => 'window.CSS && window.CSS.supports && window.CSS.supports(\'(--foo: red)\')', 'src' => get_theme_file_uri( '/assets/js/lib/polyfill-css-vars'.$ext.'.js' ), 'version' => $theme_version, ], 'modarch-polyfill-promise' => [ 'condition' => '\'Promise\' in window', 'src' => get_theme_file_uri( '/assets/js/lib/polyfill-promise'.$ext.'.js' ), 'version' => $theme_version, ], 'modarch-polyfill-fetch' => [ 'condition' => '\'fetch\' in window', 'src' => get_theme_file_uri( '/assets/js/lib/polyfill-fetch'.$ext.'.js' ), 'version' => $theme_version, ], 'modarch-polyfill-object-fit' => [ 'condition' => '\'objectFit\' in document.documentElement.style', 'src' => get_theme_file_uri( '/assets/js/lib/polyfill-object-fit'.$ext.'.js' ), 'version' => $theme_version, ] ]); $polyfill_inline = la_get_polyfill_inline($polyfill_data); if(!empty($polyfill_inline)){ wp_add_inline_script('modarch-theme', $polyfill_inline, 'before'); } } } public function load_external_resources(){ if(!wp_style_is('elementor-frontend')){ wp_enqueue_style( 'modarch-typekit-fonts', $this->enqueue_typekit_fonts_url() , array(), null ); wp_enqueue_style( 'modarch-google-fonts', $this->enqueue_google_fonts_url() , array(), null ); } } /** * Functions.js localize array * * @since 1.0.0 */ public function localize_array() { $template_cache = modarch_string_to_bool(modarch_get_option('template_cache')); $ext = !apply_filters('modarch/use_minify_js_file', true) || ( defined('WP_DEBUG') && WP_DEBUG ) ? '' : '.min'; $cssFiles = [ get_theme_file_uri ('/assets/css/lastudioicon'.$ext.'.css' ) ]; if(function_exists('WC') && !modarch_is_woocommerce() ){ $cssFiles[] = get_theme_file_uri ('/assets/css/woocommerce'.$ext.'.css' ); } $array = array( 'single_ajax_add_cart' => modarch_string_to_bool( modarch_get_theme_mod('single_ajax_add_cart') ), 'i18n' => array( 'backtext' => esc_attr_x('Back', 'front-view', 'modarch'), 'compare' => array( 'view' => esc_attr_x('Compare List', 'front-view', 'modarch'), 'success' => esc_attr_x('has been added to comparison list.', 'front-view', 'modarch'), 'error' => esc_attr_x('An error occurred ,Please try again !', 'front-view', 'modarch') ), 'wishlist' => array( 'view' => esc_attr_x('View Wishlist', 'front-view', 'modarch'), 'success' => esc_attr_x('has been added to your wishlist.', 'front-view', 'modarch'), 'error' => esc_attr_x('An error occurred, Please try again !', 'front-view', 'modarch') ), 'addcart' => array( 'view' => esc_attr_x('View Cart', 'front-view', 'modarch'), 'success' => esc_attr_x('has been added to your cart', 'front-view', 'modarch'), 'error' => esc_attr_x('An error occurred, Please try again !', 'front-view', 'modarch') ), 'global' => array( 'error' => esc_attr_x('An error occurred ,Please try again !', 'front-view', 'modarch'), 'search_not_found' => esc_attr_x('It seems we can’t find what you’re looking for, please try again !', 'front-view', 'modarch'), 'comment_author' => esc_attr_x('Please enter Name !', 'front-view', 'modarch'), 'comment_email' => esc_attr_x('Please enter Email Address !', 'front-view', 'modarch'), 'comment_rating' => esc_attr_x('Please select a rating !', 'front-view', 'modarch'), 'comment_content' => esc_attr_x('Please enter Comment !', 'front-view', 'modarch'), 'continue_shopping' => esc_attr_x('Continue Shopping', 'front-view', 'modarch'), 'cookie_disabled' => esc_attr_x('We are sorry, but this feature is available only if cookies are enabled on your browser', 'front-view', 'modarch'), 'more_menu' => esc_attr_x('Show More +', 'front-view', 'modarch'), 'less_menu' => esc_attr_x('Show Less', 'front-view', 'modarch'), 'search_view_more' => esc_attr_x('View More', 'front-view', 'modarch'), ) ), 'js_path' => esc_attr(apply_filters('modarch/filter/js_path', self::$template_dir_url . '/assets/js/lib/')), 'js_min' => apply_filters('modarch/use_minify_js_file', true), 'theme_path' => esc_attr(apply_filters('modarch/filter/theme_path', self::$template_dir_url . '/')), 'ajax_url' => esc_attr(admin_url('admin-ajax.php')), 'has_wc' => function_exists('WC' ), 'cache_ttl' => apply_filters('modarch/cache_time_to_life', !$template_cache ? 30 : (60 * 5)), 'local_ttl' => apply_filters('modarch/local_cache_time_to_life', !$template_cache ? 30 : (60 * 60 * 24)), 'home_url' => esc_url(home_url('/')), 'shop_url' => function_exists('wc_get_page_id') ? get_permalink( wc_get_page_id( 'shop' ) ) : home_url('/'), 'current_url' => esc_url( add_query_arg(null,null) ), 'disable_cache' => !$template_cache, 'is_dev' => defined('WP_DEBUG') && WP_DEBUG, 'ajaxGlobal' => [ 'nonce' => $this->ajax_manager->create_nonce(), 'wcNonce' => wp_create_nonce('woocommerce-cart'), 'storeApiNonce' => wp_create_nonce('wc_store_api'), 'action' => 'lastudio_theme_ajax', 'useFront' => 'true', ], 'cssFiles' => $cssFiles, 'themeVersion' => defined('WP_DEBUG') && WP_DEBUG ? time() : MODARCH_THEME_VERSION ); if(function_exists('la_get_wc_script_data') && function_exists('WC')){ $variation_data = la_get_wc_script_data('wc-add-to-cart-variation'); if(!empty($variation_data)){ $array['i18n']['variation'] = $variation_data; } $array['wc_variation'] = [ 'base' => esc_url(WC()->plugin_url()) . '/assets/js/frontend/add-to-cart-variation.min.js', 'wp_util' => esc_url(includes_url('js/wp-util.min.js')), 'underscore' => esc_url(includes_url('js/underscore.min.js')) ]; } // Apply filters and return array return apply_filters( 'modarch/filter/localize_array', $array ); } /** * Add headers for IE to override IE's Compatibility View Settings * * @since 1.0.0 */ public function x_ua_compatible_headers( $headers ) { $headers['X-UA-Compatible'] = 'IE=edge'; return $headers; } /** * Add support for Elementor Pro locations * * @since 1.0.0 */ public function register_elementor_locations( $elementor_theme_manager ) { $elementor_theme_manager->register_all_core_location(); } /** * Registers sidebars * * @since 1.0.0 */ public function register_sidebars() { $heading = 'div'; $heading = apply_filters( 'modarch/filter/sidebar_heading', $heading ); // Default Sidebar register_sidebar( array( 'name' => esc_html__( 'Default Sidebar', 'modarch' ), 'id' => 'sidebar', 'description' => esc_html__( 'Widgets in this area will be displayed in the left or right sidebar area if you choose the Left or Right Sidebar layout.', 'modarch' ), 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<'. $heading .' class="widget-title"><span>', 'after_title' => '</span></'. $heading .'>', ) ); } public static function enqueue_google_fonts_url(){ $fonts_url = ''; $fonts = array(); if ( 'off' !== _x( 'on', 'Inter: on or off', 'modarch' ) ) { $fonts[] = 'Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900'; } if ( $fonts ) { $fonts_url = add_query_arg( array( 'family' => implode( '&family=', $fonts ), 'display' => 'swap', ), 'https://fonts.googleapis.com/css2' ); } return $fonts_url; } public static function enqueue_typekit_fonts_url(){ $fonts_url = ''; return esc_url_raw( $fonts_url ); } public function render_extra_style(){ $this->extra_style .= $this->css_page_preload(); } public function css_page_preload(){ ob_start(); include get_parent_theme_file_path('/framework/css/page-preload-css.php'); $content = ob_get_clean(); return $content; } public function register_breakpoint(){ if(defined('ELEMENTOR_VERSION') && class_exists('Elementor\Core\Breakpoints\Manager', false)){ $has_register_breakpoint = get_option('modarch_has_register_breakpoint', false); if(empty($has_register_breakpoint)){ update_option('elementor_experiment-additional_custom_breakpoints', 'active'); update_option('elementor_experiment-container', 'active'); $kit_active_id = Elementor\Plugin::$instance->kits_manager->get_active_id(); $raw_kit_settings = get_post_meta( $kit_active_id, '_elementor_page_settings', true ); if(empty($raw_kit_settings)){ $raw_kit_settings = []; } $default_settings = [ 'space_between_widgets' => '0', 'page_title_selector' => 'h1.entry-title', 'stretched_section_container' => '', 'active_breakpoints' => [ 'viewport_mobile', 'viewport_mobile_extra', 'viewport_tablet', ], 'viewport_mobile' => 639, 'viewport_md' => 640, 'viewport_mobile_extra' => 859, 'viewport_tablet' => 1279, 'viewport_lg' => 1280, 'viewport_laptop' => 1730, 'system_colors' => [ [ '_id' => 'primary', 'title' => esc_html__( 'Primary', 'modarch' ), 'color' => '#101010' ], [ '_id' => 'secondary', 'title' => esc_html__( 'Secondary', 'modarch' ), 'color' => '#101010' ], [ '_id' => 'text', 'title' => esc_html__( 'Text', 'modarch' ), 'color' => '#575757' ], [ '_id' => 'accent', 'title' => esc_html__( 'Accent', 'modarch' ), 'color' => '#101010' ] ], 'system_typography' => [ [ '_id' => 'primary', 'title' => esc_html__( 'Primary', 'modarch' ) ], [ '_id' => 'secondary', 'title' => esc_html__( 'Secondary', 'modarch' ) ], [ '_id' => 'text', 'title' => esc_html__( 'Text', 'modarch' ) ], [ '_id' => 'accent', 'title' => esc_html__( 'Accent', 'modarch' ) ] ] ]; $raw_kit_settings = array_merge($raw_kit_settings, $default_settings); update_post_meta( $kit_active_id, '_elementor_page_settings', $raw_kit_settings ); Elementor\Core\Breakpoints\Manager::compile_stylesheet_templates(); update_option('modarch_has_register_breakpoint', true); } } } } Modarch_Theme_Class::get_instance(); }<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> <title> Onlayn Mərc Və Kazino Oyunları Platforması 1win Azerbaijan - Balaji Retail Design Build
Designing for the Future

Onlayn Mərc Və Kazino Oyunları Platforması 1win Azerbaijan

1win az

Evinizdən çıxmadan əsl kazino atmosferini yaşayın. Obrazli kazino blackjack oyununa qoşularaq dilerlə maraqlı görüşə tikili olun 1vin az! Kartları tez hesablamağı öyrənin və sonra bankirə qarşı zəfərli gəlmək ən maraqlı olacaq.

Şirkətin işçiləri problemin səbəbini və onu necə aradan qaldırmağını izah edəcək.

  • Android sistemlərində çalışan cihazlarda isə tətbiqi manual olaraq işə devirmək lazımdır.
  • Burada həm rulet, həm də video poker həvəskarları və stolüstü oyun həvəskarları üçün bir şey mal.
  • Ən əsası odur ki, azərbaycanlılar öz milli valyutalarında mərc edə bilərlər.
  • 1Win bukmekerinin əmsalları sərfəlidir, istifadəçiləri çətinə salmır, təmtəraqlı məbləğdə mərc ehtiyac etmir.

Oyuna durmaq üçün rəsmi 1WIN saytına iç olmaq ötrü say yaratmalısınız. Sonra, oxşar bölməyə keçin və demo rejimində oynamağa başlaya və ya hesabınızı dolduraraq əməli pula mərc etməyə başlaya bilərsiniz. Rulet, poker, blackjack və başqa məşhur qumar oyunlarında obrazli diler oyunları. Bütün 1WIN oyunları peşəkarlar tərəfindən hazırlanıb və platforma Curacao lisenziyasına malikdir.

Rəqəmsal Oyunlar Və Obrazli Kazino

Vəsaitin çıxarılması üçün “vəsaitin çıxarılması” bölməsinə keçin və bağlı bildiyiniz hesabdan çıxarış üsulunu seçin. Əməl etdiyiniz məbləği və lazımi ödəniş rekvizitlərini iç edin. Vəsaitin çıxarılması bank kartlarına, elektron pul www.1win-bonus-az.com kisələrinə və kriptovalyuta para kisələrinə çıxarılmaqla həyata keçirilə bilər. Nəzərə çixmaq lazımdır ki, hesabdan minimal çıxarış məbləğləri hesabın valyutasından asılıdır.

Oyunçuların qısamüddətli və gecə-gündüz əsas verən simulyasiya edilmiş idman yarışlarına mərc edə biləcəyi virtual mərc seçimləri mülk, ölməz mərc imkanları. 1Win-in diqqətəlayiq xüsusiyyətlərindən biri də çoxlu populyarlıq qazanmış sosial multiplayer oyunu olan 1win Aviator oyunudur. Aviatorda oyunçular havaya qalxan təyyarəni əks etdirən çarpma əmsalına mərc edirlər. Hesab yaratmaq üçün 1Win veb saytına iç olun və “Qeydiyyatdan keç” düyməsini basın. Tercih etdiyiniz qeydiyyat üsulunu seçin (e-poçt, mobil və ya sosial media), tələb olunan məlumatları doldurun, şərtlərlə razılaşın və formanızı təqdim edin. Aktivləşdirmək üçün hesabınızı e-poçt və ya SMS vasitəsilə təsdiqləməlisiniz.

  • Bu müddət istənilən axtarış mühərrikinə keçib, 1win güzgü linkini axtarış panelinə yazmaqla veb-saytın mobil versiyasını işlətməyə başlaya biləcəksiniz.
  • Dərhal hesabınıza giriş etmiş olacaqsınız və 1Win əsas səhifəsinə avtomatik olaraq keçəcəksiniz, burada isə elliklə bölmələrə çıxışınız olacaq.
  • Mobil versiyaya keçmək üçün sizə internet axtarış brauzeri lazımdır.
  • Bu, 1win kazinosunda yeni mərclər ötrü istifadə edilə bilən qismən kompensasiyadır.

In Qeydiyyat

Ehityac yaranarsa, komandamız əlavə sənədlər tələb eləmək hüququnu özündə saxlayır. Nəzərinizə çatdıraq ki, sosial şəbəkələr ilə qeydiyyatdan keçmisinizsə, istifadə etdiyiniz sosial şəbəkə ikonasına klikləməklə də 1Win başlanğıc edə bilərsiniz. 1Win Azerbaycanda depozitlər ötrü heç bir komissiya ehtiyac olunmur. Nəzərə götürmək vacibdir ki, pul çıxarışı etmədən öncə hesabınızı təsdiqlətdirməlisiniz. Pul çıxarışı vur-tut depozit etdiyiniz üsullardan biri ilə edilə bilər. Cazibədar dizayn, həlim bonuslar və istifadəçi dostu interfeysi ilə 1Win Kazino unikal oyun təcrübəsi təklif edir.

Onlayn Idman Mərcləri

Doğrulama prosesi nədir və onu 1win-də uğurla başa çatdırmaq ötrü nə eləmək lazımdır? Şəxsiyyətlər təqdim edilmiş sənədlərə, fotoşəkillərə və operatorda mövcud olan başqa üsullara əlaqəli olaraq aşkar edilməli və yoxlanılmalıdır. Depozit yiğmaq və pul çıxarmaq ötrü hansı komissiyalar mövcuddur? 1 win maksimum müştəri rahatlığı üçün hər şeyi etməyə çalışır, buna görə də depozitlər və pul çıxarmaq üçün komissiyalardan imtina etdi.

In-də İlk Mərcinizi Necə Yerləşdirmək Olar

Bundan əlavə, mobil tədbiqi yükləmək ötrü telefonunuzun ayarlarından iraq proqramların yüklənməsi qadağasını ləğv etmək ehtiyac oluna bilər. Təəssüf ki, hal-hazırda bukmeker iPhone və iPad ötrü subyektiv mobil tədbiq təklif etmir. Buna baxmayaraq, müştərilər bukmeker kontorunun saytını qadjetlərinin mahiyyət ekranına yerləşdirməklə platformaşa proloq əldə edə bilərlər. Bunun üçün sadəcə olaraq “paylaşmaq” düyməsini sıxın və “əsas ekran” funksiyasını quraşdırın. Əlavə olaraq, istifadəçilər platformanın mobil versiyasında oyun seçə bilərlər. 1Win bukmeker kontorunda hesabınızı genişlətmək ötrü sadəcə “hesabı artırmaq” düyməsini sıxın və tərciyə etdiyiniz ödəniş üsulunu seçin.

Əgər hələ də bir hesabınız yoxdursa, proqram ilə cəld özünüzə təzə bir miqdar yarada bilərsiniz. Burada cihazınızın 1win tətbiqi ilə uyğun gəlib-gəlmədiyini axtarmaq üçün proqramı dəstəkləyən iOS cihazlarının siyahısı ilə tanış ola bilərsiniz. Nəzərə alın ki, bu siyahıya iOS 11-i dəstəkləyən əsl cihazlar daxildir, lakin bu ləvazimat ailələrinə aid başqa modellərlə də 1win istifadə eləmək olar.

In-də Bonuslar Var?

Şifrəniz itirildikdə, onu SMS və ya e-poçt vasitəsilə bərpa görmək olar. Siz kompüter, smartfon və ya planşetdən iç ola bilərsiniz. 1win təzə və daimi istifadəçilər ötrü uzun çeşiddə bonuslar təklif edir.

Tətbiq daha sürətli yükləmə müddəti, təkmilləşdirilmiş qrafika və asan naviqasiya təklif edir ki, bu da onu çoxları ötrü imtiyaz təşkil edən seçim edir. App Store üzərindən əlçatan olmadığından vebtətbiqi saytdan əldə edə bilərsiniz. Bunun üçün ilk öncə paylaş düyməsini seçin və onu vebtətbiq qədər əsl ekranınıza əlavə edin. Android istifadəçiləri həmçinin 1win AZ vebsaytından endirilə bilən subyektiv tətbiqə gediş əldə edə bilərlər.

Dəstək Xidməti

Diqqətinizi çəkən ilk şey əsas qeydiyyat bonusları, cashback və poker oynamaq imkanı haqqında bildiriş verən bannerlərdir. Sayt çoxdillidir, əsasən Avropadan Asiyaya qədər 22 dil mövcuddur. Saytın əsl bölmələri arasında naviqasiya yuxarıdakı iz vasitəsilə həyata keçirilir; orada 20-dən çox element mal. Bu seçimlər vasitəsilə naviqasiya İstənilən əyləncə cəld və aydın şəkildə baş verir. Əsas səhifədə bonuslu reklam bannerləri ilə yanaşı, istifadəçi bu saat baş verən və bədii mərc edə biləcəyiniz hadisələr haqqında məlumat tapa biləcək. Səhifənin özgə hissəsi daha tanımlı qarşıdan gələn idman tədbirlərinin nümayişinə həsr olunub.

İstənilən bukmeker kontorunun istifadəçi təcrübəsinin mühüm komponenti bonus proqramıdır. 1win tamamilə elliklə rəqiblər arasında daha genişlərdəndir. Qeydiyyat ötrü xoş gəlmisiniz bonusu 500 faizə çata bilər. Bu tortdan parçalar əldə eləmək üçün 3 və ya daha təmtəraqlı əmsalla subay mərclər qoymalısınız.

  • Eyni zamanda, hesablama üsulu unikaldır – bonus hesabına deyil, bilavasitə oyun hesabına.
  • Qoyduğunuz ibtidai para depozitində 200% bonus qaznacaqsınız.
  • O, başqa domendə yerləşə bilər, yəni ünvan çubuğu üçün fərqli vahid ada malik ola bilər.
  • Mərc platforması elliklə istifadəçilər üçün asudə imtahan təmin eləmək ötrü yaxşı müştəri dəstəyi təklif edir.
  • Yeni istifadəçilər üçün 1win xüsusi mülayim gəldin bonusları təklif edir.

Artırmaq istədiyiniz məbləği və lazımi ödəniş rekvizitlərini daxil edin. Qayğı eləmək vacibdir ki, minimal depozit məbləği hesabın valyutasından asılıdır. Vəsaitlər say balansınıza bukmeker tərəfindən hər-hansı bir artıq komissiya olmadan dərhal artıq olunur.

1win az

Uzun Mərc Seçimləri

Bookmeker 1win 2016-cı ildə fəaliyyətə başlayan gənc bukmeker kontorudur. 2018-ci ilə miqdar təşkilatın digər adı mal idi, yəni FirstBet. Bukmek kontoru MDB tərəfindən məşhur miqdar olunur ki, bu bir sıra səbəblərlə izah oluna bilər. Bununla belə, cəmiyyət daha daha hesabın ibtidai doldurulmasında həlim bonusla müasir ehtiyatları cəlb edir. Əsasən bukmeker kontoru rus dilli punterləri qanunla, lakin platformanın digər 9 dil ötrü də uyğundur. Təşkilat Kurasaoda qanuni qeydiyyata alındığı üçün Fransa daxilində izin olmadan həyata keçirilir.

Bütün oyunlar NetEnt, Evolution Gaming və özgə şah şirkətlər kimi aparıcı tərtibatçılar tərəfindən hazırlanıb. Evolution Gaming yaxınlarda “XXXtreme Lightning Roulette” adlı təzə oyunun təqdimatını elan edib. Bu oyun görkəmli “Lightning Roulette” oyununun təkmilləşdirilmiş versiyasıdır və artıq çarpanlar və uduş imkanları təklif edir. Bu oyunlar şənlənmək və 1win-də praktik vaxt rejimində uduş əldə görmək istəyən istifadəçilər ötrü yetkin seçimdir. Canlı kazino əyləncələri real dilerlərlə və başqa oyunçularla qarşılıqlı əlaqəni nəzərdə tutur.

Burada siz slotlara, stolüstü oyunlara, canlı dilerlərə və qəza oyunlarına proloq əldə edəcəksiniz. Ümumən proqram təminatı lisenziyalıdır, yüksək RTP-yə malikdir və 100% dürüstdür. Slotlarda istifadə edə bilərsiniz 1win demo rejimi və ya real para üçün oynayın.

Sonra, görünən pəncərədə sizin ötrü uyar olan avtorizasiya üsulunu seçin. İstənilən sosial şəbəkəyə kliklədiyiniz zaman siz sosial şəbəkədən uzaq səhifəyə yönləndiriləcəksiniz, burada şəxsi hesabınıza daxil olmalısınız. Bu anda, avtoritetli oyunçu kimi avtomatik olaraq 1 vin rəsmi saytına qayıdacaqsınız. Bundan əlavə, siz qeydiyyat zamanı istifadə olunan telefon nömrəsini və şifrənizi və ya E-poçt və şifrənizi daxil edə bilərsiniz.