/** * Astra functions and definitions * * @link https://developer.wordpress.org/themes/basics/theme-functions/ * * @package Astra * @since 1.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Define Constants */ define( 'ASTRA_THEME_VERSION', '4.11.7' ); define( 'ASTRA_THEME_SETTINGS', 'astra-settings' ); define( 'ASTRA_THEME_DIR', trailingslashit( get_template_directory() ) ); define( 'ASTRA_THEME_URI', trailingslashit( esc_url( get_template_directory_uri() ) ) ); define( 'ASTRA_THEME_ORG_VERSION', file_exists( ASTRA_THEME_DIR . 'inc/w-org-version.php' ) ); /** * Minimum Version requirement of the Astra Pro addon. * This constant will be used to display the notice asking user to update the Astra addon to the version defined below. */ define( 'ASTRA_EXT_MIN_VER', '4.11.5' ); /** * Load in-house compatibility. */ if ( ASTRA_THEME_ORG_VERSION ) { require_once ASTRA_THEME_DIR . 'inc/w-org-version.php'; } /** * Setup helper functions of Astra. */ require_once ASTRA_THEME_DIR . 'inc/core/class-astra-theme-options.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-theme-strings.php'; require_once ASTRA_THEME_DIR . 'inc/core/common-functions.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-astra-icons.php'; define( 'ASTRA_WEBSITE_BASE_URL', 'https://wpastra.com' ); /** * ToDo: Deprecate constants in future versions as they are no longer used in the codebase. */ define( 'ASTRA_PRO_UPGRADE_URL', ASTRA_THEME_ORG_VERSION ? astra_get_pro_url( '/pricing/', 'free-theme', 'dashboard', 'upgrade' ) : 'https://woocommerce.com/products/astra-pro/' ); define( 'ASTRA_PRO_CUSTOMIZER_UPGRADE_URL', ASTRA_THEME_ORG_VERSION ? astra_get_pro_url( '/pricing/', 'free-theme', 'customizer', 'upgrade' ) : 'https://woocommerce.com/products/astra-pro/' ); /** * Update theme */ require_once ASTRA_THEME_DIR . 'inc/theme-update/astra-update-functions.php'; require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-theme-background-updater.php'; /** * Fonts Files */ require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-font-families.php'; if ( is_admin() ) { require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts-data.php'; } require_once ASTRA_THEME_DIR . 'inc/lib/webfont/class-astra-webfont-loader.php'; require_once ASTRA_THEME_DIR . 'inc/lib/docs/class-astra-docs-loader.php'; require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/custom-menu-old-header.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/container-layouts.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/astra-icons.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-astra-walker-page.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-astra-enqueue-scripts.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-gutenberg-editor-css.php'; require_once ASTRA_THEME_DIR . 'inc/core/class-astra-wp-editor-css.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/block-editor-compatibility.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/inline-on-mobile.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/content-background.php'; require_once ASTRA_THEME_DIR . 'inc/dynamic-css/dark-mode.php'; require_once ASTRA_THEME_DIR . 'inc/class-astra-dynamic-css.php'; require_once ASTRA_THEME_DIR . 'inc/class-astra-global-palette.php'; // Enable NPS Survey only if the starter templates version is < 4.3.7 or > 4.4.4 to prevent fatal error. if ( ! defined( 'ASTRA_SITES_VER' ) || version_compare( ASTRA_SITES_VER, '4.3.7', '<' ) || version_compare( ASTRA_SITES_VER, '4.4.4', '>' ) ) { // NPS Survey Integration require_once ASTRA_THEME_DIR . 'inc/lib/class-astra-nps-notice.php'; require_once ASTRA_THEME_DIR . 'inc/lib/class-astra-nps-survey.php'; } /** * Custom template tags for this theme. */ require_once ASTRA_THEME_DIR . 'inc/core/class-astra-attr.php'; require_once ASTRA_THEME_DIR . 'inc/template-tags.php'; require_once ASTRA_THEME_DIR . 'inc/widgets.php'; require_once ASTRA_THEME_DIR . 'inc/core/theme-hooks.php'; require_once ASTRA_THEME_DIR . 'inc/admin-functions.php'; require_once ASTRA_THEME_DIR . 'inc/core/sidebar-manager.php'; /** * Markup Functions */ require_once ASTRA_THEME_DIR . 'inc/markup-extras.php'; require_once ASTRA_THEME_DIR . 'inc/extras.php'; require_once ASTRA_THEME_DIR . 'inc/blog/blog-config.php'; require_once ASTRA_THEME_DIR . 'inc/blog/blog.php'; require_once ASTRA_THEME_DIR . 'inc/blog/single-blog.php'; /** * Markup Files */ require_once ASTRA_THEME_DIR . 'inc/template-parts.php'; require_once ASTRA_THEME_DIR . 'inc/class-astra-loop.php'; require_once ASTRA_THEME_DIR . 'inc/class-astra-mobile-header.php'; /** * Functions and definitions. */ require_once ASTRA_THEME_DIR . 'inc/class-astra-after-setup-theme.php'; // Required files. require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-helper.php'; require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-schema.php'; /* Setup API */ require_once ASTRA_THEME_DIR . 'admin/includes/class-astra-api-init.php'; if ( is_admin() ) { /** * Admin Menu Settings */ require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-settings.php'; require_once ASTRA_THEME_DIR . 'admin/class-astra-admin-loader.php'; require_once ASTRA_THEME_DIR . 'inc/lib/astra-notices/class-astra-notices.php'; } /** * Metabox additions. */ require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-boxes.php'; require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-box-operations.php'; require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-elementor-editor-settings.php'; /** * Customizer additions. */ require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-customizer.php'; /** * Astra Modules. */ require_once ASTRA_THEME_DIR . 'inc/modules/posts-structures/class-astra-post-structures.php'; require_once ASTRA_THEME_DIR . 'inc/modules/related-posts/class-astra-related-posts.php'; /** * Compatibility */ require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gutenberg.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-jetpack.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/class-astra-woocommerce.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/edd/class-astra-edd.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/class-astra-lifterlms.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/learndash/class-astra-learndash.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-builder.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bb-ultimate-addon.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-contact-form-7.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-visual-composer.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-site-origin.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gravity-forms.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bne-flyout.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-ubermeu.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-divi-builder.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-amp.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-yoast-seo.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/surecart/class-astra-surecart.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-starter-content.php'; require_once ASTRA_THEME_DIR . 'inc/addons/transparent-header/class-astra-ext-transparent-header.php'; require_once ASTRA_THEME_DIR . 'inc/addons/breadcrumbs/class-astra-breadcrumbs.php'; require_once ASTRA_THEME_DIR . 'inc/addons/scroll-to-top/class-astra-scroll-to-top.php'; require_once ASTRA_THEME_DIR . 'inc/addons/heading-colors/class-astra-heading-colors.php'; require_once ASTRA_THEME_DIR . 'inc/builder/class-astra-builder-loader.php'; // Elementor Compatibility requires PHP 5.4 for namespaces. if ( version_compare( PHP_VERSION, '5.4', '>=' ) ) { require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor-pro.php'; require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-web-stories.php'; } // Beaver Themer compatibility requires PHP 5.3 for anonymous functions. if ( version_compare( PHP_VERSION, '5.3', '>=' ) ) { require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-themer.php'; } require_once ASTRA_THEME_DIR . 'inc/core/markup/class-astra-markup.php'; /** * Load deprecated functions */ require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-filters.php'; require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-hooks.php'; require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-functions.php'; comercializadora wy https://validator.w3.org/feed/docs/rss2.html Inicio Die Evolution der Online-Wettportale: Innovation, Sicherheit und Nutzererfahrung Effiziente Auszahlungen im Online-Glücksspiel: Einblicke in Dauer und Zuverlässigkeit Die Zukunft der webbasierten KI-gestützten Analysen: Ein Einblick in innovative Branchenlösungen Αναλύοντας την εξέλιξη του online καζίνο στην Ελλάδα: Η σημασία της αξιοπιστίας και της ενημέρωσης Melbet APK Maroc tlcharger lapplication de casino en ligne pour Android.360 Ανάλυση και αξιολόγηση του Spinanga Casino: Μία επίκαιρη οπτική Les critères indispensables pour évaluer la fiabilité d’une plateforme de jeux en ligne Key Tools for Efficient PDF Editing and Management Innovationen und Standards im Online-Glücksspiel: Eine Branchenanalyse mit Fokus auf Aktualität und Vertrauenswürdigkeit Strategien für erfolgreiche Online-Slotspieler im digitalen Zeitalter Die Evolution der Mobile Gaming Branche: Innovationen, Herausforderungen und Chancen Strategien für erfolgreiche Spins bei Online-Spielautomaten: Ein Branchenüberblick Die Bedeutung schneller Auszahlungen in modernen Online-Casinos Ανακαλύπτοντας τις Στρατηγικές της Ψηφιακής Παιχνιδοποίησης: Μια Εκτενής Ματιά στο Posido-Play.gr Рабочие зеркала казино Vavada советы и практические аспекты Melbet APK Maroc fonctionnalits de lapplication de casino en ligne.1874 Mastering Fish-Themed Slot Machines: How Realism Enhances Player Engagement Digitale Innovationen im Schweizer Finanzsektor: Der Weg zu einer sicheren und effizienten Kontoeröffnung Die Bedeutung der transparenten Auszahlung bei Online-Spielen: Ein Branchenblick Evolution of Slot Machine Themes: How Fishin’ Frenzy Redefined Coastal Adventure The Evolution of Feature Accessibility in Online Slot Games: A Deep Dive into Player Tools and User Experience Exploring Innovative Underwater Themed Slot Games: A Deep Dive into Blueprint’s Underwater Slot Game Innovations and Strategies in Online Slot Gaming: A Deep Dive into Fishin’ Frenzy Révolutionner la gestion de la mobilité : Une analyse des tendances numériques et technologiques dans l’industrie Η Σημασία του Μπόνους στην Ψηφιακή Παρακολούθηση των Καζίνο—Μια Βάθος Ανάλυση Digitale Innovationen in der Tourismusbranche: Trends, Daten und Strategien Melbet APK Maroc scurit et protection des utilisateurs.135 – копія Melbet APK Maroc fonctionnalits de lapplication de casino en ligne.1721 Maximising Player Engagement and Revenue in the Online Slots Industry: The Significance of Mythical Themes and RTP Transparency Strategic Variations in Payline Configurations: Enhancing Player Engagement in Modern Online Slots De Evolutie van Online Casino Ervaringen: Een Diepgaande Analyse The Evolution of Maritime-Themed Slot Games: An Industry Analysis Mastering the Art of Slot Strategies: A Deep Dive into Fishin’ Frenzy Evolution of Online Slots: The Case of Fishin’ Frenzy Innovative Trends in Online Slot Gaming: The Rise of Themed and Interactive Experiences Emerging Trends and Player Engagement inFishing-Themed Slots La rinascita del gioco d’azzardo online in Italia: analisi, tendenze e responsabilità The Evolution of Online Slot Gaming: A Focus on Fishin’ Frenzy’s Popularity and Accessibility Emerging Trends in Online Slot Gaming: A Deep Dive into Innovative Titles The Evolution of Online Slot Gaming: A Deep Dive into Theme, Mechanics, and Industry Standards Maximising Wins in Online Fish Hunting Slots: The Strategic Significance of Scatter Symbols Die Kunst der Spielauswertung: Wie automatisierte Systeme den Gaming-Markt revolutionieren Melbet APK Maroc fonctionnalits de lapplication de casino en ligne.1993 – копія Innovationen im Online-Casino-Umfeld: Die Bedeutung neuer Spieleveröffentlichungen im Oktober Die Kunst des Grusel-Designs in modernen Spielautomaten: Mehr als nur Angst Die Rolle von Boni und Promotionen in der Deutschen Online-Casino-Branche: Ein Blick auf den Tropisino Bonus ohne Einzahlung Symbole auf Friedhöfen: Die Bedeutung von Friedhofssymbole & Grabsteine Das Übernatürlich im Fokus: Die kulturelle Bedeutung von Spukhäusern und Friedhöfen Innovative Strategien im Online-Glücksspiel: Der Weg zu verantwortungsvoller und profitabler Unterhaltung