| 1 | <?php |
|---|
| 2 | /** |
|---|
| 3 | * Astra functions and definitions |
|---|
| 4 | * |
|---|
| 5 | * @link https://developer.wordpress.org/themes/basics/theme-functions/ |
|---|
| 6 | * |
|---|
| 7 | * @package Astra |
|---|
| 8 | * @since 1.0.0 |
|---|
| 9 | */ |
|---|
| 10 | |
|---|
| 11 | if ( ! defined( 'ABSPATH' ) ) { |
|---|
| 12 | exit; // Exit if accessed directly. |
|---|
| 13 | } |
|---|
| 14 | |
|---|
| 15 | /** |
|---|
| 16 | * Define Constants |
|---|
| 17 | */ |
|---|
| 18 | define( 'ASTRA_THEME_VERSION', '3.8.1' ); |
|---|
| 19 | define( 'ASTRA_THEME_SETTINGS', 'astra-settings' ); |
|---|
| 20 | define( 'ASTRA_THEME_DIR', trailingslashit( get_template_directory() ) ); |
|---|
| 21 | define( 'ASTRA_THEME_URI', trailingslashit( esc_url( get_template_directory_uri() ) ) ); |
|---|
| 22 | |
|---|
| 23 | /** |
|---|
| 24 | * Minimum Version requirement of the Astra Pro addon. |
|---|
| 25 | * This constant will be used to display the notice asking user to update the Astra addon to the version defined below. |
|---|
| 26 | */ |
|---|
| 27 | define( 'ASTRA_EXT_MIN_VER', '3.6.3' ); |
|---|
| 28 | |
|---|
| 29 | /** |
|---|
| 30 | * Setup helper functions of Astra. |
|---|
| 31 | */ |
|---|
| 32 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-theme-options.php'; |
|---|
| 33 | require_once ASTRA_THEME_DIR . 'inc/core/class-theme-strings.php'; |
|---|
| 34 | require_once ASTRA_THEME_DIR . 'inc/core/common-functions.php'; |
|---|
| 35 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-icons.php'; |
|---|
| 36 | |
|---|
| 37 | /** |
|---|
| 38 | * Update theme |
|---|
| 39 | */ |
|---|
| 40 | require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-theme-update.php'; |
|---|
| 41 | require_once ASTRA_THEME_DIR . 'inc/theme-update/astra-update-functions.php'; |
|---|
| 42 | require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-theme-background-updater.php'; |
|---|
| 43 | require_once ASTRA_THEME_DIR . 'inc/theme-update/class-astra-pb-compatibility.php'; |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | /** |
|---|
| 47 | * Fonts Files |
|---|
| 48 | */ |
|---|
| 49 | require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-font-families.php'; |
|---|
| 50 | if ( is_admin() ) { |
|---|
| 51 | require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts-data.php'; |
|---|
| 52 | } |
|---|
| 53 | |
|---|
| 54 | require_once ASTRA_THEME_DIR . 'inc/lib/webfont/class-astra-webfont-loader.php'; |
|---|
| 55 | require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-fonts.php'; |
|---|
| 56 | |
|---|
| 57 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/custom-menu-old-header.php'; |
|---|
| 58 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/container-layouts.php'; |
|---|
| 59 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/astra-icons.php'; |
|---|
| 60 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-walker-page.php'; |
|---|
| 61 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-enqueue-scripts.php'; |
|---|
| 62 | require_once ASTRA_THEME_DIR . 'inc/core/class-gutenberg-editor-css.php'; |
|---|
| 63 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-wp-editor-css.php'; |
|---|
| 64 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/block-editor-compatibility.php'; |
|---|
| 65 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/inline-on-mobile.php'; |
|---|
| 66 | require_once ASTRA_THEME_DIR . 'inc/dynamic-css/content-background.php'; |
|---|
| 67 | require_once ASTRA_THEME_DIR . 'inc/class-astra-dynamic-css.php'; |
|---|
| 68 | require_once ASTRA_THEME_DIR . 'inc/class-astra-global-palette.php'; |
|---|
| 69 | |
|---|
| 70 | /** |
|---|
| 71 | * Custom template tags for this theme. |
|---|
| 72 | */ |
|---|
| 73 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-attr.php'; |
|---|
| 74 | require_once ASTRA_THEME_DIR . 'inc/template-tags.php'; |
|---|
| 75 | |
|---|
| 76 | require_once ASTRA_THEME_DIR . 'inc/widgets.php'; |
|---|
| 77 | require_once ASTRA_THEME_DIR . 'inc/core/theme-hooks.php'; |
|---|
| 78 | require_once ASTRA_THEME_DIR . 'inc/admin-functions.php'; |
|---|
| 79 | require_once ASTRA_THEME_DIR . 'inc/core/sidebar-manager.php'; |
|---|
| 80 | |
|---|
| 81 | /** |
|---|
| 82 | * Markup Functions |
|---|
| 83 | */ |
|---|
| 84 | require_once ASTRA_THEME_DIR . 'inc/markup-extras.php'; |
|---|
| 85 | require_once ASTRA_THEME_DIR . 'inc/extras.php'; |
|---|
| 86 | require_once ASTRA_THEME_DIR . 'inc/blog/blog-config.php'; |
|---|
| 87 | require_once ASTRA_THEME_DIR . 'inc/blog/blog.php'; |
|---|
| 88 | require_once ASTRA_THEME_DIR . 'inc/blog/single-blog.php'; |
|---|
| 89 | |
|---|
| 90 | /** |
|---|
| 91 | * Markup Files |
|---|
| 92 | */ |
|---|
| 93 | require_once ASTRA_THEME_DIR . 'inc/template-parts.php'; |
|---|
| 94 | require_once ASTRA_THEME_DIR . 'inc/class-astra-loop.php'; |
|---|
| 95 | require_once ASTRA_THEME_DIR . 'inc/class-astra-mobile-header.php'; |
|---|
| 96 | |
|---|
| 97 | /** |
|---|
| 98 | * Functions and definitions. |
|---|
| 99 | */ |
|---|
| 100 | require_once ASTRA_THEME_DIR . 'inc/class-astra-after-setup-theme.php'; |
|---|
| 101 | |
|---|
| 102 | // Required files. |
|---|
| 103 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-helper.php'; |
|---|
| 104 | |
|---|
| 105 | require_once ASTRA_THEME_DIR . 'inc/schema/class-astra-schema.php'; |
|---|
| 106 | |
|---|
| 107 | if ( is_admin() ) { |
|---|
| 108 | |
|---|
| 109 | /** |
|---|
| 110 | * Admin Menu Settings |
|---|
| 111 | */ |
|---|
| 112 | require_once ASTRA_THEME_DIR . 'inc/core/class-astra-admin-settings.php'; |
|---|
| 113 | require_once ASTRA_THEME_DIR . 'inc/lib/astra-notices/class-astra-notices.php'; |
|---|
| 114 | |
|---|
| 115 | } |
|---|
| 116 | |
|---|
| 117 | /** |
|---|
| 118 | * Metabox additions. |
|---|
| 119 | */ |
|---|
| 120 | require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-boxes.php'; |
|---|
| 121 | |
|---|
| 122 | require_once ASTRA_THEME_DIR . 'inc/metabox/class-astra-meta-box-operations.php'; |
|---|
| 123 | |
|---|
| 124 | /** |
|---|
| 125 | * Customizer additions. |
|---|
| 126 | */ |
|---|
| 127 | require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-customizer.php'; |
|---|
| 128 | |
|---|
| 129 | /** |
|---|
| 130 | * Astra Modules. |
|---|
| 131 | */ |
|---|
| 132 | require_once ASTRA_THEME_DIR . 'inc/modules/related-posts/class-astra-related-posts.php'; |
|---|
| 133 | |
|---|
| 134 | /** |
|---|
| 135 | * Compatibility |
|---|
| 136 | */ |
|---|
| 137 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gutenberg.php'; |
|---|
| 138 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-jetpack.php'; |
|---|
| 139 | require_once ASTRA_THEME_DIR . 'inc/compatibility/woocommerce/class-astra-woocommerce.php'; |
|---|
| 140 | require_once ASTRA_THEME_DIR . 'inc/compatibility/edd/class-astra-edd.php'; |
|---|
| 141 | require_once ASTRA_THEME_DIR . 'inc/compatibility/lifterlms/class-astra-lifterlms.php'; |
|---|
| 142 | require_once ASTRA_THEME_DIR . 'inc/compatibility/learndash/class-astra-learndash.php'; |
|---|
| 143 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-builder.php'; |
|---|
| 144 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bb-ultimate-addon.php'; |
|---|
| 145 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-contact-form-7.php'; |
|---|
| 146 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-visual-composer.php'; |
|---|
| 147 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-site-origin.php'; |
|---|
| 148 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-gravity-forms.php'; |
|---|
| 149 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-bne-flyout.php'; |
|---|
| 150 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-ubermeu.php'; |
|---|
| 151 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-divi-builder.php'; |
|---|
| 152 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-amp.php'; |
|---|
| 153 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-yoast-seo.php'; |
|---|
| 154 | require_once ASTRA_THEME_DIR . 'inc/addons/transparent-header/class-astra-ext-transparent-header.php'; |
|---|
| 155 | require_once ASTRA_THEME_DIR . 'inc/addons/breadcrumbs/class-astra-breadcrumbs.php'; |
|---|
| 156 | require_once ASTRA_THEME_DIR . 'inc/addons/heading-colors/class-astra-heading-colors.php'; |
|---|
| 157 | require_once ASTRA_THEME_DIR . 'inc/builder/class-astra-builder-loader.php'; |
|---|
| 158 | |
|---|
| 159 | // Elementor Compatibility requires PHP 5.4 for namespaces. |
|---|
| 160 | if ( version_compare( PHP_VERSION, '5.4', '>=' ) ) { |
|---|
| 161 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor.php'; |
|---|
| 162 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-elementor-pro.php'; |
|---|
| 163 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-web-stories.php'; |
|---|
| 164 | } |
|---|
| 165 | |
|---|
| 166 | // Beaver Themer compatibility requires PHP 5.3 for anonymus functions. |
|---|
| 167 | if ( version_compare( PHP_VERSION, '5.3', '>=' ) ) { |
|---|
| 168 | require_once ASTRA_THEME_DIR . 'inc/compatibility/class-astra-beaver-themer.php'; |
|---|
| 169 | } |
|---|
| 170 | |
|---|
| 171 | require_once ASTRA_THEME_DIR . 'inc/core/markup/class-astra-markup.php'; |
|---|
| 172 | |
|---|
| 173 | /** |
|---|
| 174 | * Load deprecated functions |
|---|
| 175 | */ |
|---|
| 176 | require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-filters.php'; |
|---|
| 177 | require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-hooks.php'; |
|---|
| 178 | require_once ASTRA_THEME_DIR . 'inc/core/deprecated/deprecated-functions.php'; |
|---|