wp_enqueue_script: как изменить порядок загрузки скриптов?

17 сент. 2013 г., 13:25:23
Просмотры: 16.8K
Голосов: 7

Я хочу узнать, как вывести список всех скриптов, загружаемых на странице, отсортированных по порядку, и изменить этот порядок.

1
Комментарии

То же самое можно сделать с помощью параметра depends функции wp_enqueue_script() http://codex.wordpress.org/Function_Reference/wp_enqueue_script

Vinod Dalvi Vinod Dalvi
17 сент. 2013 г. 13:28:57
Все ответы на вопрос 1
0

Если посмотреть исходный код функции wp_enqueue_scripts() (или её регистрирующего аналога), то можно увидеть, что всю тяжёлую работу выполняет глобальная переменная global $wp_scripts.

По сути, эта глобальная переменная является экземпляром класса WP_Scripts, который наследуется от WP_Dependency. Вы можете использовать все возможности этого класса, если более высокоуровневый API недоступен.

Чтобы просмотреть все зарегистрированные, подключённые и другие скрипты, просто выполните:

var_dump( $GLOBALS['wp_scripts']->registered );

Или аналогично для enqueue. К счастью, у вас есть один аргумент для сортировки скриптов: dependencies. Если вам нужно, чтобы ваш скрипт загружался после jQuery, просто добавьте зависимость array( 'jquery' ) при регистрации или подключении скрипта. Так в WordPress упорядочивают скрипты: делая их зависимыми друг от друга. Кстати, имя зависимости всегда соответствует имени, с которым скрипт был зарегистрирован — это называется "handle" (уникальный идентификатор).

17 сент. 2013 г. 15:48:25