/** * ===================================== * ENQUEUE STYLES & SCRIPTS (ELITE FINAL) * ===================================== */ function azzawaj_scripts() { $version = wp_get_theme()->get('Version'); $uri = get_template_directory_uri(); $dir = get_template_directory(); /** * ========================= * GOOGLE FONTS (OPTIMIZED) * ========================= */ wp_enqueue_style( 'azzawaj-fonts', 'https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Open+Sans:wght@400;600&display=swap', [], null ); /** * ========================= * FONT AWESOME * ========================= */ wp_enqueue_style( 'azzawaj-fa', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css', [], '6.5.0' ); /** * ========================= * CSS SYSTEM (MODULAR) * ========================= */ // VARIABLES (LOAD FIRST) if (file_exists($dir . '/assets/css/variables.css')) { wp_enqueue_style( 'azzawaj-vars', $uri . '/assets/css/variables.css', [], $version ); } // MAIN CSS (AUTO MIN) $main_css = file_exists($dir . '/assets/css/main.min.css') ? '/assets/css/main.min.css' : '/assets/css/main.css'; wp_enqueue_style( 'azzawaj-main', $uri . $main_css, ['azzawaj-fonts'], $version ); // COMPONENTS if (file_exists($dir . '/assets/css/components.css')) { wp_enqueue_style( 'azzawaj-components', $uri . '/assets/css/components.css', ['azzawaj-main'], $version ); } // HEADER (LOAD AFTER MAIN) wp_enqueue_style( 'azzawaj-header', $uri . '/assets/css/header.css', ['azzawaj-main'], $version ); // ARTICLE (ONLY POSTS) if (is_single() || is_home()) { if (file_exists($dir . '/assets/css/article.css')) { wp_enqueue_style( 'azzawaj-article', $uri . '/assets/css/article.css', ['azzawaj-main'], $version ); } } // FOOTER if (file_exists($dir . '/assets/css/footer.css')) { wp_enqueue_style( 'azzawaj-footer', $uri . '/assets/css/footer.css', ['azzawaj-main'], $version ); } /** * ========================= * JS SYSTEM (MODULAR) * ========================= */ // MAIN JS (AUTO MIN) $main_js = file_exists($dir . '/assets/js/main.min.js') ? '/assets/js/main.min.js' : '/assets/js/main.js'; wp_enqueue_script( 'azzawaj-main', $uri . $main_js, [], $version, true ); // HEADER if (file_exists($dir . '/assets/js/header.js')) { wp_enqueue_script( 'azzawaj-header', $uri . '/assets/js/header.js', ['azzawaj-main'], $version, true ); } // SIDEBAR (ONLY SINGLE) if (is_single() && file_exists($dir . '/assets/js/sidebar.js')) { wp_enqueue_script( 'azzawaj-sidebar', $uri . '/assets/js/sidebar.js', ['azzawaj-main'], $version, true ); } // SCROLL (ONLY ARTICLES) if (is_single() && file_exists($dir . '/assets/js/scroll.js')) { wp_enqueue_script( 'azzawaj-scroll', $uri . '/assets/js/scroll.js', ['azzawaj-main'], $version, true ); } // SEARCH (GLOBAL) if (file_exists($dir . '/assets/js/search.js')) { wp_enqueue_script( 'azzawaj-search', $uri . '/assets/js/search.js', ['azzawaj-main'], $version, true ); } /** * ========================= * LOCALIZE AJAX * ========================= */ wp_localize_script('azzawaj-main', 'azzawaj_ajax', [ 'ajax_url' => admin_url('admin-ajax.php'), 'home_url' => home_url(), ]); } add_action('wp_enqueue_scripts', 'azzawaj_scripts'); /** * ===================================== * DEFER JS (SAFE) * ===================================== */ function azzawaj_defer_scripts($tag, $handle) { if (is_admin()) return $tag; $defer_scripts = [ 'azzawaj-main', 'azzawaj-header', 'azzawaj-sidebar', 'azzawaj-scroll', 'azzawaj-search' ]; if (in_array($handle, $defer_scripts)) { return str_replace('