/** * 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 Harnessing Mobile Wave: The Evolution of Online Slot Gaming with Fishin Frenzy Transforming Player Engagement: The Strategic Role of Popular Slot Games in the Digital Casino Landscape Il Mercato delle Slot Machine Online: Tendenze, Innovazioni e il Caso di “CHICKEN ROAD 2 SLOT” La moderna evoluzione delle Slot Machines: Trend e Innovazioni nel Settore del Gioco d’Azzardo Online Il Mercato del Gioco d’Azzardo Online in Italia: Analisi e Tendenze con Focus sui Slot Machine Strategic Insights into Bonus Features and Player Engagement in Online Slots Return to Player (RTP) is a crucial metric that delineates the theoretical payout percentage of a sl Mastering the Art of Online Slots: A Strategic Guide for UK Players Mastering the Art of Online Slot Selection: Industry Insights and Strategic Approaches The Evolution of Online Casino Gaming: From Land-Based Venues to Digital Domination Il Ruolo del Gaming Free-to-Play nell’Industria dell’Intrattenimento Digitale The Evolution of Online Slot Machines: Industry Insights & Future Trends Vastuullinen Pelaaminen ja Strategiat Reactoonz-pelissä Innovazione nel Settore della Ristorazione: Come i Concept di Ristoranti Cambiano il Mercato La Gestione della Privacy nel Digital Publishing: La Necessità di Trasparenza e Legalità Maximizing Player Engagement Through High RTP Casino Slots Ensuring Consumer Confidence: The Evolution of Online Casino Regulation in the UK Verantwortungsvolles Glücksspiel: Die Bedeutung von Selbstkontrolle The Evolution of Online Casino Platforms: Merging Innovation with Player Trust Evolution of Online Slot Gaming: Trends, Strategies, and Industry Insights Evaluating the Credibility of Online Casino Platforms: A Case Study of Prince Casino Il Ruolo dell’Automazione e Innovazione nelle Slot Machines: Analisi e Prospettive De Digitale Transformatie van de Horeca: Innovatie en Technologie in de Topsegmenten The Rise of Clipped Wing Creatures in Urban Ecosystems The Evolution of Modern Jigging: Harnessing Technology and Technique in Coastal Fishing Emerging Trends in Mobile Casino Gaming: A Deep Dive into Responsible Access and Innovation De Opkomst van Gratis Spelletjes: De Impact op de Online Gokindustrie Strategier för att Maximera Bonusar inom Online Casinospel & Betting Innovazioni nel Gioco d’Azzardo: Esplorando i Slot con Moltiplicatori e le Tendenze Attuali Innovazione e Sicurezza nei Sistemi di Controllo per il Settore Aeronautico Le Slot Machine Online: Un’Analisi Profonda sull’Impatto, la Tecnologia e la Percezione Pubblica The Evolution of Online Slot Gaming: Engaging Players through Classic Themes and Technology Handheld Fishing Reels: The Intersection of Design, Performance, and Market Trends L’evoluzione del Gioco d’azzardo online: innovazione, regolamentazione e il ruolo dei casinò digitali RTP Elevati nei Giochi Online: La Nuova Tendenza nel Mercato del Gioco Digitale Legal Considerations in Digital Business Models: A Deep Dive into User Agreements and Platform Governance Il Mercato dei Giochi da Casinò: Innovazioni e Tendenze per il 2024 The Cultural Resonance and Evolution of Zombies in Modern Media Les tendances émergentes dans le secteur de l’hôtellerie de luxe durable Regulierung und Rechtsprechung bei Echtgeld Automatenspielen: Ein Leitfaden für Nutzer und Anbieter Il ruolo fondamentale delle recensioni affidabili nel settore delle consegne a domicilio: analisi e tendenze The Evolution of Digital Gaming: From Skill-Based Play to Real Cash Prizes Die Herausforderung der Echtzeit-Strategie in mobilen Spielen: Ansvarsfullt spelande och reglering av onlinecasino: En översikt Spielautomaten sind seit Jahrzehnten das Herzstück jeder glanzvollen Casino-Atmosphäre. Trotz ihrer Die strategische Bedeutung thematischer Spielautomaten im digitalen Glücksspielmarkt Implementing Transparent Data Privacy Policies in the Digital Age Strategische Spielautomatenwahl: Der Einfluss von Thema und Bonusspielen auf den Erfolg The Evolution of Bonus Features in Online Slots: A Closer Look at Free Spins Inicio