Модератор
Юрій
(@yube)
Не могу понять, в чём физический смысл
«постановки в очередь» CSS и JS.
Смысл в правильном порядке подключения с учетом зависимостей. И в возможности переопределить/убрать стиль/скрипт по хендлеру.
Почему нельзя поставить напрямую <link> для CSS в <head>?
Можно. Но придется вручную подключать в правильном порядке. И если с темой это в принципе реализуемо, то плагинам будет трудно объяснить, что, скажем, jquery уже подключили и не стоит это делать еще раз.
Юрий:
И если с темой это в принципе реализуемо, то плагинам будет трудно объяснить, что, скажем, jquery уже подключили и не стоит это делать еще раз.
То есть, если в процессе генерации страницы программа
AA «поставит в очередь» myCSS.css, а потом программа
BB попытается тоже «поставит в очередь» myCSS.css, то WordPress
без скандала эту попытку проигнорирует, так как он уже в курсе
дела, что странице нужен этот myCSS.css.
А раскрутку «очереди» осуществляют wp_head() и wp_footer().
В общем понятно.
Модератор
Юрій
(@yube)
AA «поставит в очередь» myCSS.css, а потом программа
BB попытается тоже «поставит в очередь» myCSS.css, то WordPress
без скандала эту попытку проигнорирует, так как он уже в курсе
дела, что странице нужен этот myCSS.css.
Не совсем.
1. Это работает не по имени файла, а по хендлеру.
2. При совпадении хендлеров будет использовать тот файл, который будет добавлен последним. (т.е. ВВ перебьет АА)
Это удобный механизм для подмены того, что загружено раньше. Например, css, подключенный плагином, можно подменить своим, если сделать wp_enqueue_style после того, как это сделает плагин. Большое количество хуков и возможность установить приоритет позволяют в большинстве случаев добиться желаемого, не вмешиваясь в чужой код.