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" (уникальный идентификатор).
