Как получить $handle для всех подключенных скриптов?
Есть ли способ получить $handle для каждого скрипта, который был подключен (enqueued)?
Существует ли массив, содержащий все handles, чтобы я мог перебрать его и выполнить какие-то действия с каждым $handle?

Начиная с WP 4.2.0 - $wp_scripts = wp_scripts();
может быть лучше, чем обращение к глобальной переменной напрямую, так как это инициализирует $wp_scripts
, если он еще не был установлен.

Есть ли способ получить $handle для каждого подключенного скрипта?
Вы можете попробовать проверить $wp_scripts->queue
на определённом хуке, но это не даст вам полного списка всех хэндлов, используемых WordPress, как бы странно это ни звучало.
Например, вы можете подключиться к хуку wp_head
, который запускает действие wp_print_scripts
, чтобы получить список $handles
для стандартной темы Twenty Seventeen в WP v4.7.5:
function get_enqueued_scripts () {
$scripts = wp_scripts();
var_dump( array_keys( $scripts->groups ) );
}
add_action( 'wp_head', 'get_enqueued_scripts' );
И список $handles
из $wp_scripts->groups
выведет:
Если на этом этапе сравнить с содержимым $wp_scripts->queue
, вы увидите только подмножество из показанного выше.
Таким образом, даже wp_print_scripts
не предоставит полный список хэндлов, как показано выше, если это то, что вам нужно. И не всегда можно полагаться на групповые зависимости, чтобы их получить.
