function ajc_loader_init() { $loaded = get_exceptions_script_names(); ?> <script type="text/javascript"> var asyncScripts = []; var asyncFunctions = []; var loadedScripts = [<?php echo !empty($loaded) ? "'" . implode("','", $loaded) . "'" : ''; ?> ]; var scriptsToLoad = 0; function execOnReady(func){ asyncFunctions.push(func); } </script> <?php }
function get_ordered_script_list() { global $wp_scripts; $loaded = get_exceptions_script_names(); $remove_GET_part = get_option('ajc_remove_GET_part'); // FIX: adding jquery-core dependency for jquery-migrate if (isset($wp_scripts->registered['jquery-migrate']) && !in_array('jquery-core', $wp_scripts->registered['jquery-migrate']->deps)) { $wp_scripts->registered['jquery-migrate']->deps[] = 'jquery-core'; } $list = array(); if (is_array($wp_scripts->queue)) { foreach ($wp_scripts->queue as $script) { $script_with_deps = get_script_with_deps($script); $list = array_merge($list, $script_with_deps); } } $clean_list = array(); $script_list = array(); foreach ($list as $name) { if (!in_array($name, $clean_list) && !is_excluded($name)) { $clean_list[] = $name; $script = $wp_scripts->registered[$name]; if ($script->src != '' && strpos($script->src, 'http') !== 0 && strpos($script->src, '//') !== 0) { $script->src = rtrim(get_bloginfo('wpurl'), '/') . '/' . ltrim($script->src, '/'); } $item = array('name' => $name, 'src' => $script->src == '' ? '' : $script->src . (!empty($script->ver) && !$remove_GET_part ? '?ver=' . $script->ver : '')); if (!empty($script->deps)) { $item['deps'] = $script->deps; } $extra = get_script_extra($script); if (!empty($extra)) { $item['extra'] = $extra; } $script_list[] = $item; } } //~ var_dump($script_list); return $script_list; }