/** * 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> Formal Saytına Proloq Və Qeydiyyat Mostbet Azərbaycan - Balaji Retail Design Build
Designing for the Future

Formal Saytına Proloq Və Qeydiyyat Mostbet Azərbaycan

mostbet az giriş

Kazino oyunları bölməsinə slot maşınları, poker, rulet və blackjack kimi klassik oyunlar daxildir. Bədii kazino seçimi ilə istifadəçilər real krupiyerlərlə stolüstü oyunlar oynayaraq onlayn kazino təcrübəsinə əhl ola bilərlər. İstifadəçi dostu platforma qədər Mostbet həm masaüstü, həm də mobil cihazlarda yüngül giriş təklif edir.

Bukmeker kontoru 40-dan çox idman növü üzrə mərcləri qəbul edir. Ənənəvi olaraq ən məşhur sahələr futbol, ​​tennis, basketbol və xokkeydir. İdman mərc oyunları həvəskarlarını atletika, itələmə sənəti, velosiped idmanı, voleybol, həndbol kimi idman növləri cəlb edir. Dart, kriket, florbol, su polosu ekzotik idman növləri arasında populyardır. Daha yaxşılar ümumən tanımlı liqalara, divizionlara, çempionatlara mərc edə bilərlər. Həvəskar yarışlara, ikinci, üçüncü divizionlara mərclər də qəbul edilir.

Poker – Klassik Kart Oyunu

İstifadəçi dostu interfeys növbəti mərc üçün tədbir seçməyi asanlaşdırır. Rəsmi internet saytında təqdim olunan bütün tədbirlər özgə platformalarda da mövcuddur. Siz geniş limitlərdə mərc edə bilərsiniz, belə ki, hər hansı bir bankroll olan oyunçular mərc sayəsində artıq pul qazana biləcəklər. Bukmeker kontoru seçmək üçün qısamüddətli və uzunmüddətli mərclər təklif edir. Siz Mostbet AZ 91 saytında canlı və hədis öncəsi oynaya bilərsiniz. Birincisi adətən günün daha məşhur idman hadisələrini təqdim edir.

Bu standart prosedur lazımi təhlükəsizliyini təmin etmək ötrü hesabınızla və qarşısının alınması rəzil hərəkətləri. Vəsaitlərin sizə çatması ötrü ehtiyac olunan müddət seçdiyiniz para çıxarma üsulundan əlaqəli olacaq. MostBet ətraflı spektrini təklif edir, idman, o cümlədən futbol, tennis, basketbol, MMA və daha daha . Bundan digər, bizim platforma təmin edir və vahid ən imkanlar eSports. Aydın qalibi də amnistiya üzrə azadlığa buraxılacaq oyun, şübhəsiz ki, daha uzun yayılmış forması dərəcələrinin.

Mostbet şəxsi Kabinetə Başlanğıc

Uyar hədiyyə – pulsuz spinlər – kazinoda vaxtini çox keçirənlərə təqdim edilir. Bu bonus, hər spin ötrü mərc etmədən kazino maşinlarini işə salma qollarini əvəzsiz firlatmağa imkan verir, bununla da qazanma halinda para mükafati əldə edir. Ölkə qanunvericiliyi qumar ilə uyğun iş sahələrini qadağan edir. 2016-ci ilə kəmiyyət internetdən işləyən mənbələrə toxunmadi. Qumar stasionar nöqtələrin fəaliyyət istiqamətlərindən yad edildi. Bundan əlavə, virtual məkanda qumar saytlari ilə bağli qanunvericilik qadağalari tətbiq edildi.

  • Mostbet Azərbaycan sizə bu yarışlara mərc eləmək və onları sizin üçün daha əhəmiyyətli və praktik eləmək ötrü müxtəlif bazarlar və seçimlər təklif edir.
  • İstifadəçilər bu brendi əla tanıyır, ona etibar edir və onun xidmətlərindən fəal şəkildə istifadə edirlər.
  • Ən müddət bonuslar və turnirlərdə mümkün miqdar çox oyunçu bax: cəzb eləmək üçün yeni slot maşınları istifadə olunur.
  • Siz həmçinin dünyanın hər yerindən real dilerlər və özgə oyunçularla canlı poker oynaya bilərsiniz.

Itələmə Oyunlarına Mərclər

Operator texnologiyası istifadə edir SSL şifrələmə ilə qorunması üçün xəlvətilik məlumat oyunçular . MostBet – doğru və etibarlı platforma ilə quduz olması ötrü Azərbaycanda olan qocaman müştəri bazası . MostBet – online bukmeker kontoru və casino təklif edən uzun seçim variantları bahis üçün idman və hədis casino . Sayəsində bizim xidmətlərindən biri bizik aparıcı saytları üçün online dərəcələrinin yeni bazar. Sayəsində öz üstün xüsusiyyətləri və ən şey başqa, MostBet kamil seçimdir axtaran hər kəs üçün asudə, etimadli və asudə təcrübə online dərəcələrinin . MostBet aparmaq üçün vahid şans təklif edir 100% bonus üçün elliklə müasir oyunçular, artıq 550 AZN .

Necə Iqrar Etmək Olar

Sevimli komandanıza dəstək olmaq həmişə maraqlıdır, ələlxüsus də uduşlar təhlükə altında olduqda. Müasir başlanğıc ünvanı axtaran hər vahid oyunçu resursumuzun təhlükəsizliyinə arxayın ola bilər. Biz daha mötəbər, etibarlı və mühüm məlumatları təqdim edirik. Bədii kazinoların demo rejimində oynamaq və ya real para riskinə imtiyaz verməyinizdən əlaqəli olmayaraq, Mostbet saytının cari ünvanını tapmaq sizin ötrü çətin olmayacaq.

Mostbet live xətti prematch xətti kimi, geniş şəkildə formalaşdırılıb. Futbol, ​​voleybol, e-İdman və özgə idman növlərinə mərc edə bilərsiniz. Obrazli futbol mərcləri ən geniş hadisələr təklif edir, Avropa və aləm çempionatları, aşağı divizionlar, avrokuboklar və s.

Bu kampaniyalar çərçivəsində siz xüsusi depozitlər və ya aşkar oyunlara mərc görmək üçün bonuslar qazana bilərsiniz. Mostbet-in müasir üzvlərə təklif etdiyi mülayim bonuslar oyunlarınızı zənginləşdirmək və xeyir əldə etmək ötrü yüksək imkan təqdim edir. Bonuslardan istifadə şərtləri və özgə təfərrüatlar ötrü Mostbet-in rəsmi saytına iç ola bilərsiniz.

Tikə Yatırmadan Bonus

Mən Mostbet dəstək komandasının işini vurğulamaq istərdim. Hesabıma pul qoymaqla bağlı problem yaşamışdım, var-yox dəstək təmsilçisi əlbəəl mənə problemin səbəbini tapmaqda kömək etdi və addım-addım təlimatlar verdi. Seçdiyiniz metoddan əlaqəli olmayaraq arxayın ola bilərsiniz ki, probleminiz həlsiz qalmayacaq. Izafi olaraq, siz sorğunuzu müştəri xidmətlərinə veb-saytın həm masaüstü, həm də mobil versiyası ilə göndərə bilərsiniz. Mostbet Kürasao lisenziyası ilə fəaliyyət göstərən rəsmi onlayn mərc platformasıdır və istifadəçilərinə idman mərcləri və kazino oyunları xidmətləri təklif edir.

Təzə Oyunçular üçün Aktuall Bonuslar

Mövcud maliyyə xidmətləri və əməliyyat limitləri cədvəldə göstərilmişdir. Vəsaitlərin çıxarılmasına proloq vur-tut profilinizdəki məlumatları doldurduqdan sonra açılır. Gediş doldurma ilə demək olar ki, oxşarı yollarla mövcuddur. Kriptovalyuta cüzdanlarına, eləcə də m10, PayDo, eManat vasitəsilə minimum çıxarma məbləği 5 AZN-dir. SmartPay vasitəsilə bank kartları ilə əməliyyatlar 30 AZN-dən başlayaraq həyata keçirilir. Para bukmeyker tərəfindən komissiya olmadan əlbəəl hesaba köçürülür, lakin əməliyyat haqları bəzi ödəniş operatorları tərəfindən tutula bilər.

Slot Oyunları, Kazino Və Aviator Kimi Crash Oyunlarının Unikal Xüsusiyyətləri

  • Mosbet-də bu mərclər oyunçulara daha cəld mərc strategiyaları yaratmaq və əmsallardan maksimum xeyir əldə eləmək imkanı təqdim edir.
  • Esportlar möhtəşəmdir, buna üçün də oyunun mərc bölməsində bu zabitə çərçivəsində oynamağı düşünməlisiniz.
  • İstər idman mərcləri, istərsə də kazino oyunları üçün burada olmağınızdan asılı olmayaraq, Mostbet-də sizi hər müddət artıq nəsə gözləyir.
  • Bu günəş saytda qabaqdan gələn döyüşlərin və canlı hadisələrin elanları mülk, onlara oxşar mərclər edə bilərsiniz.
  • Mostbet gündəlik müştərilərinə unikal imkanlar təqdim edərək onları xoşbəxt etməyə çalışır.

Bu oyunlar canlı qrafika, təsir edici səslər və bax: cəzbedici oyun mexanikası ilə tanınır. Bu slotların bir çoxu yüksək RTP (Oyunçuya Qayıtma) faizləri təklif edir, bu da oyunçulara ədalətli udma şansı verir. Slot maşınlarının əsl cazibəsi əzəmətli uduşlar aparma potensialıdır, xüsusən də proqressiv cekpot slotlarında. Mega Moolah və Divine Fortune qədər oyunlar, dolanacaq dəyişdirən cekpotlar təklif edir, bu məbləğ hər spin ilə böyüyür və bir mostbetazc.com şanslı oyunçu əzəmətli mükafatı qazanır. Oyunçular sevimli slotlarını tapmaq üçün axtarış çubuğundan və ya mövcud süzgəcdən istifadə edə bilərlər. Bundan izafi, Mostbet ana səhifəsində trend olan oyunları vurğulayır, beləliklə oyunçular müasir və əlamətdar slotları icad edə bilərlər.

Mostbet-də Qeydiyyat

mostbet az giriş

Onlardan bildiriş götürmək üçün Mostbet profildə e-poçt daxil etmək lazımdır. Onda bu aksialar haqqa bildirişlər sizin elektron poçtunuza göndəriləcək Sonra istifadəçi “Nailiyyətlər” bölməsinə daxil olmalı, tapşırıqların siyahısı ilə dost olmalı və onların yerinə yetirilməsinə üçün bonuslar almalıdır.

Operator diqqəti MDB ölkələrindən olan istifadəçilərə yönəldir və 45-dan daha ölkədən müştəriləri götürmə edir. Azərbaycanlı oyunçular mostbet-az45.com lokallaşdırılmış saytında mərc edə və onlayn casino əyləncələrindən səfa ala bilərlər. Platforma Venson Ltd-ə məxsusdur və qanuni olaraq Curacao lisenziyası altında iş göstərir. Bir çox rəqiblərdən ziddiyyətli olaraq, cahanşümul operator Mostbet Azərbaycandan olan istifadəçilər üçün sərbəst oyun üçün hər çeşid macal yaradıb. Mostbet nadir 45 saytının bölünməz funksionallığı ilə işləyir və Azərbaycan dilini tökmək mümkündür. Hədis hesabı ötrü valyutalar arasında manat da var və sətirdə ölkənin yerli xətləri və turnirləri mülk.

İdman mərcləri ötrü hədis ölçüsü x5, Kazinolar ötrü x60 (FreeSpins). Buna ötrü, məsələn, min bonus rubl çıxarmaq üçün onları 5.0 əmsalı ilə bir hadisəyə qoymaq lazımdır. Və ya daha nadir əmsallı bir macəra ötrü, vur-tut bir neçə dəfə qazanmalı olacaqsınız. Müxtəliflik qayğı edirik ki, bonus hesabı riskləri hedcinq etmək ötrü istifadə edilə bilər, çünki bəzi slot və mərclər bonus mərcini normal olanla birləşdirməyə imkan verir.

Вu bоnuslаr və təklіflər zаmаnlа dəуіşə bіlər və Моstbеt tərəfіndən təуіn оlunаn şərtlərə əsаslаnır. Ən sоn bоnus təklіflərі bаrədə ətrаflı məlumаt аlmаq üçün rəsmі sауtа mürасіət еtməуə və qауdаlаrı dіqqətlə охumаğа dіqqət уеtіrіn. Воnuslаrı аktіvləşdіrmədən başlanğıc саrі şərtlərі уохlаmаğı unutmауın. Нələ də, Моstbеt sауtınа qеуdіууаtdаn kеçіn və bu bədii іmkаnlаrdаn іstіfаdə еdіn! Моstbеt, Аzərbаусаn іstіfаdəçіlərі üçün dаіmа müхtəlіf və mаrаqlı рrоmоsуоnlаr və аksіуаlаr təklіf еdіr.