wp_enqueue_script: как изменить порядок загрузки скриптов?
Я хочу узнать, как вывести список всех скриптов, загружаемых на странице, отсортированных по порядку, и изменить этот порядок.
Если посмотреть исходный код функции wp_enqueue_scripts() (или её регистрирующего аналога), то можно увидеть, что всю тяжёлую работу выполняет глобальная переменная global $wp_scripts.
По сути, эта глобальная переменная является экземпляром класса WP_Scripts, который наследуется от WP_Dependency. Вы можете использовать все возможности этого класса, если более высокоуровневый API недоступен.
Чтобы просмотреть все зарегистрированные, подключённые и другие скрипты, просто выполните:
var_dump( $GLOBALS['wp_scripts']->registered );
Или аналогично для enqueue. К счастью, у вас есть один аргумент для сортировки скриптов: dependencies. Если вам нужно, чтобы ваш скрипт загружался после jQuery, просто добавьте зависимость array( 'jquery' ) при регистрации или подключении скрипта. Так в WordPress упорядочивают скрипты: делая их зависимыми друг от друга. Кстати, имя зависимости всегда соответствует имени, с которым скрипт был зарегистрирован — это называется "handle" (уникальный идентификатор).