/** * 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> 1win Azerbaycan Rəsmi Veb Saytı Başlanğıc Yüklə - Balaji Retail Design Build
Designing for the Future

1win Azerbaycan Rəsmi Veb Saytı Başlanğıc Yüklə

1win yüklə

Bu isə sizə konkret bir bazarın ehtimalını təhlil etməyə, düzgün təxmin etməyə və uğurlu mərc etməyə macal borc. Obrazli Mərcdə izafi əsas tutmuş bir matçın elliklə əsas anlarını izləyə bilərsiniz, beləcə gələcək nəticəni ən əla təxmin edə bilərsiniz. Hər bir bazarın əmsalı – sizin qazancınızın məbləği bu ədəddən asılıdır.

Salamlama Bonusunu Əldə Edə Bilərəm?

Azərbaycandan olan hər bir istifadəçi onu smartfonuna pulsuz şəkildə endirə bilər. 1Win tətbiqini Android versiyası kamil şəkildə optimallaşdırılıb. O sizə əməli pulla mərc və kazino oyunlarına çıxış imkanı verir, istənilən müddət sürətlə qazana bilərsiniz.

1Win Azerbaycan idman mərc həvəskarları üçün 420 AZN-ə qədər həlim 500% Sakit gəldin bonusu təklif edir. Bonusu praktik pula yıxmaq ötrü siz minimum 3.00 əmsalla təkli kuponlara mərc etməlisiniz. Əgər kuponunuz qazansa, mərcinizin izafi 5%-ni də alacaqsınız. Bonusu əldə etmək üçün ibtidai depozitiniz ən azı 10 AZN təşkil etməlidir. Depozit təsdiqləndikdən sonra bonus məbləğiniz anında hesabınıza köçəcəkdir. Ekspress üçün Bonus – 5 və daha daha hadisədən ibarət kupon yaradın və hər əlavə oyuna ötrü qazancınızı artırın.

In-də Obrazli Matçlara Baxa Bilərəm?

Oyunçu bunu bacararsa, mərcin satıldığı andaki əmsala və edilən mərc məbləğinə əsasən oyunçu vahid uduş qazanacaqdır. 1win Lucky Jet oyununda əmsal lap ən 5072 həddinə çata bilər. Var-yox əgər oyunçu jet qəzaya uğramadan əvvəl mərci nağdlaşdıra bilməsə, raundu gəlirsiz tərk edəcək. Minimum mərc məbləği 0.20 AZN, maksimum mərc məbləği isə 140 AZN təşkil edir. Lucky jet Avto qoyuluş, Avto alma, Obrazli çat qədər bir silsilə faydalı və maraqlı funksiyalara sahibdir.

Say Təsdiqləməsi

Oyunlar arasında PlinkoS, Plinko Go, Plinko Mega Win kimi vahid daha görkəmli növlər mövcuddur. Bəzi oyunarda minimum mərc limiti 0.20 AZN kimi xirda məbləğlərdən başlayır. Bununla yanaşı, bəzi Plinko oyunlarını demo (pulsuz) versiyada əylənmə imkanı da mövcuddur.

1win yüklə

In App Bonuslar Əldə Edin

Başlanğıc düyməsinə basın və say məlumatlarınızı iç edin. Para qoymaq düyməsini basın, istədiyiniz metodu seçin, məbləği təyin edin və pulu hesabınıza daxil edin. İdman mərcləri olan bölməyə keçin, idman sahəsini və maraqlandığınız konkret bir matçı seçin. Tətbiqdə matçın səhifəsində mərc etmək üçün əlçatan olan bütün bazarların siyahısını üçün bilərsiniz. Şəxsi sahədə mərcinizin məbləğini daxil edin və təsdiqləmə düyməsini klikləyin.

  • 1Win Azərbaycan hesabından istifadə etmək ötrü bilməli olduğunuz vacib məqamlar bunlardır.
  • O sizə praktik pulla mərc və kazino oyunlarına çıxış imkanı verir, istənilən vaxt indicə qazana bilərsiniz.
  • Vahid raundda bir mərc ən daha 100 əmsala kəmiyyət yüksələ bilər.
  • Futbol, voleybol, basketbol və başqa 50 idman sahəsində hər bir formal oyun sizin mərc etməyiniz üçün əlçatan olacaq.
  • Hər il 1Win ən da yaxşılaşır və təkmilləşir, buradakı mərclərinizi yaxşılaşdırmaq üçün təzə idman səhələri, kampaniyalar və alətlər izafi edir.
  • 1Win elliklə kazino oyunçuları ötrü də malli mülayim gəldin bonusu təklif edir.

In Tətbiqində Mərc

1Win Azərbaycan hesabından istifadə görmək ötrü bilməli olduğunuz vacib məqamlar bunlardır. Təsdiqləmə uyar hissə tərəfindən seçilmiş aydın istifadəçilər üçün şəxsi qaydada tələb oluna bilər. Buna ötrü də ilkin mərhələlərdə mərc etməyə başlamaq üçün sadəcə qeydiyyatdan keçməlisiniz.

  • Minimum mərc məbləği 0.20 AZN, maksimum mərc məbləği isə 140 AZN təşkil edir.
  • Canlı matçları, Obrazli Miqdar və statistikanı izləyə bilərsiniz, bu isə sizə axir nəticəni təxmin etməyə kömək edəcək.
  • Oyununun qaydaları və oynama tərzi isə olduqca bəsitdir.
  • Mobilə uyğunlaşdırılmış platforma ilə sevimli oyunlarınızı hətta yolda gedərkən belə oynaya bilərsiniz.
  • Aviator oyununda məqsəd virtual təyyarənin nə qədər havada qalacağını doğru təxmin etməkdir.

In Onlayn Poker Oyunları

Çünki uduş məbləği mərkəzdən kənarlara doğru arta-arta gedir. Plinko oyununu bu qədər 1win az etibarlı bax: cəzbedici edən onun qəfillik elementidir. Oyunçular xanaların mövqelərini və potensial uduşları nəzərə alaraq topu hara atacaqlarını diqqətlə seçməlidirlər.

Lap uyar seçim, bilavasitə veb saytda əldə edilə bilən 24/7 canlı çatdır. Sadəcə danışıq ikonasına klikləyin və real müddət rejimində sizə ianə edəcək dəstək agenti ilə münasibət quracaqsınız. Bundan əlavə, email protected e-poçt adresi vasitəsilə də bizimlə bağlılıq saxlaya bilərsiniz. Veb saytda qarşılaşdığınız hər hansı problem və ya sorğu ilə bağlıDəstək komandası ilə bağlılıq saxlamaqdan çəkinməyin. 1win AZ olaraq biz Məsuliyyətli Hədis prinsiplərinə axir miqyas ciddi yanaşırıq. Bu səbəbdən oyunçuları məsuliyyətlə oynamağa və qumar asılılığından uzaq tutmağa təşviq edirik.

1win yüklə

In Azerbaycan – Onlayn İdman Mərcləri Və Bədii Kazino Oyunları Dünyasını Icad Edin!

Lucky Jet mobil cihazlarla bütöv uyğun gələn bir oyunudur. 1win mobile tətbiqi ilə Lucky Jet oyununu hər yerdən rahatlıqla oynaya bilərsiniz. Poker oyunçularımız Sit & Go və nağd masalarda, o cümlədən gündəlik pulsuz poker turnirlərində bəxtlərini sınaya bilərlər. 1win kazino Plinko həvəskarları ötrü nə seyrək, nə ən, düz 19 hədis təklif edir.

  • Siz həmçinin, hər raundda hansı maşının zəfərli gələcəyinə (daha təmtəraqlı əmsala gedəcəyini) mərc edə bilərsiniz.
  • Siz matçın nəticələrinə, oyunçu statistikasına və daha ən şeyə mərc edə bilərsiniz.
  • Pokeri sevən oyunçular bütün ehtiyaclarını 1Win tətbiqində qarşılaya bilərlər.
  • İstifadəçilər 1win Azerbaycanın xidmətlərindən, şübhəsiz ki, mobil veb-sayt vasitəsilə də istifadə edə bilərlər.
  • 1win tətbiqi oyun təcrübənizi genəltmək ötrü bir neçə əlamətdar bonuslar təklif edir.

Aşağıda Azərbaycandan olan praktik mərcçilərin bəzi rəylərini təqdim edirik. Mərc və kazino məqsədlərim üçün 1Win-i seçməyimə heç ara təəssüf olmamışam, çünki burada rahat mərc təcrübəsi ötrü lazım olan hər şeyi tapa bilərsiniz. Vəsait yiğma və çıxarmaların sürətini subyektiv vurğulamaq istərdim. Neçə illərdir ki, mərc edirəm və bu saat 1Win ilə aşna olduğuma ən şadam. Həm Matçdan əvvəl, həm də Canlı mərclər sayəsində mənə lazım olan hər zad barmaqlarımın ucundadır.

Hər vaxt məsuliyyətlə oynamağa və hər şeyin nəzarətinizdə qalmasına diqqət yetirin! 1win app sizə birbaşa mobil cihazınızdan mərc və kazino oyunlarından səfa almağa macal verən rahat və istifadəçi dostu platformadır. Android və ya iOS cihazından istifadə etməyinizdən əlaqəli olmayaraq elliklə funksiyalar sizin ötrü əlçatan olacaqdır. İdman və kazino oyunlarına mərclərdən tutmuş depozit və pul vəsaitlərinin idarəsinə kəmiyyət hər şeyi bir neçə səmimi addımda eləmək olar.

  • Sadəcə başlanğıc edirsən, mərc qoyursan, qazanırsan və pulu çıxarırsan.
  • Bu halda əmsallar vurularaq ən böyük əmsal yaranır.
  • Mobil versiya ilə 1win-in əksər funksiya və xidmətləri istifadəçilər ötrü əlçatandır.
  • Belə matçlar ən nadir müddət aparır və olduqca proznoqlaşdırıla bilməyən olurlar.
  • Əgər konkret matçlarla maraqlanırsınızsa, onları sevimlilərinizə izafi edərək onları izləməyi asanlaşdıra bilər, bazarları və əmsalları izləyə bilərsiniz.

1win yüklə

Saxta intellekt tərəfindən yaradılmış matçlara mərc qoya bilərsiniz. Belə matçlar daha nadir ara aparır və olduqca proznoqlaşdırıla bilməyən olurlar. Virtual idman sahələrinin siyahısına Futbol, At Yarışı, Avtomobil Yarışları və Tazı Yarışları daxildir. Seçimlər daha genişdir – bir ən bazarlar, bədii yayımlar, statistikalar və Obrazli Hesab.

In-də Necə Qeydiyyatdan Keçmək Olar?

1win Plinko oyununda oyunçular dirəklərlə dolu piramidanın yuxarı hissəsindən topu atır və top aşağı enərkən dirəklərdən sıçrayır. Məqsəd topu lövhənin altındakı təyin edilmiş xanalardan birinə endirməkdir. Hər bir xana uçurumlu bir mükafatla əlaqələndirilir və mükafatın ölçüsü xananın yerindən və dəyərindən əlaqəli olaraq dəyişir.

1Win-də bölünməz rahatlıqla oynayıb qazanmağınız üçün uzun alətlər dəsti mövcuddur. Bukmeyker müasir mərcçinin ehtiyacı ola biləcək hər şeyi izafi edib. Ona üçün də burada bunlardan bəzilərini fikir edə biləcəyik. Hazırda 1Win-də onlarla məşhur idman sahəsinə mərc edə bilərsiniz.