Що таке wp_enqueue (черга скриптів) в WordPress
Для додавання інтерактивності на сайт в основному використовуються скрипти JavaScript. Вони ж використовуються і на сайтах WordPress. Якщо у вас невеликий сайт, таких скриптів може бути дуже мало, але в міру зростання сайту їх може бути дуже велика кількість. Коли ви починаєте додавати все більше і більше JavaScript, ваш сайт стає все повільнішим і повільнішим. Плюс їх оновлення займає все більше часу. Цей «клубок» стає складно розплутати.
На щастя, в WordPress ви можете використовувати функцію постановки в чергу скриптів (wp_enqueue
), щоб правильно додавати CSS-стилі і JavaScript скрипти. Після цього CMS WordPress наведе порядок в цьому хаосі. У сьогоднішній статті ми розглянемо даний функціонал і подивимося на практичне застосування функції wp_enqueue_script
.
Основні моменти функції wp_enqueue_script
Основною причиною, по якій важливо використовувати функціонал черги скриптів (wp_enqueue) в WordPress – це забезпечення безперебійної та швидкої роботи вашого сайту, а також правильне підключення скрипта (JavaScript файлу) на сторінці. Все що потрібно, це написати невеликий фрагмент коду, а потім використовувати wp_enqueue для виклику потрібного скрипта.
Використання методу черги змушує WordPress автоматично вставляти теги <script>
в потрібному місці. Це також дозволяє правильно об’єднувати JavaScript файли в один файл скриптів, а також допомагає позбавлятися конфлікту скриптів (коли порушується їх порядок підключення).
Синтаксис і параметри методу wp_enqueue_script
Для статичних сайтів використовується пряме підключення коду скриптів в тілі сторінки або за допомогою зовнішнього .js
файлу. Система WordPress використовує схожий метод, але більш ефективним способом.
Для цього вам достатньо використовувати функцію wp_enqueue_script
, знати її синтаксис, а також правильно використовувати основні її параметри.
Синтаксис функції черги скриптів виглядає так:
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
Тут використовуються такі параметри:
wp_enqueue_script()
– це функція, яка поміщає скрипт на потрібну сторінку.$handle
– це унікальне ім’я (системна назва) для самого JavaScript скрипта.$src
– це посилання на файл .js, який ви ставите в чергу.$deps
– це масив системних імен скриптів, від яких залежить підключаємий скрипт. Тобто, тут вказуються скрипти, які повинні бути завантажені до підключаємого скрипта.$ver
– це номер версії скрипта. Якщо ви нічого не вкажете для цього параметра, буде автоматично використана поточна версія WordPress.$in_footer
– цей параметр повідомляє WordPress, куди помістити ваш скрипт: якщо вказатиtrue
, тоді скрипт підключиться у футері (підвалі) сайту, якщоfalse
, тоді скрипт підключиться в шапці (хедері) сайту.
На додаток до wp_enqueue, в WordPress використовується метод, який називається wp_register. Обидва методи використовують одні і ті ж параметри та синтаксис. За допомогою другої функції ви реєструєте скрипт в системі, а за допомогою wp_enqueue ставите цей скрипт в чергу підключення. Правильне підключення скриптів має на увазі спочатку реєстрацію їх в системі, а потім виклик. Як тільки скрипт зареєстрований за допомогою wp_register_script
, ви можете поставити його в чергу за допомогою функції wp_enqueue_script
по його параметру $handle
, як ви побачите в прикладі нижче.
Етап №1: реєстрація скрипта в системі:
wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.0.0.min.js', false, null, true);
Етап №2: виклик скрипта по його системному імені з використанням функції черги скриптів:
wp_enqueue_script( 'jquery' );
Практичний приклад підключення jQuery в WordPress
Реалізація коду проста. Просто вставте фрагмент коду, який представлений нижче, в файл functions.php активної теми, і WordPress обробить все інше.
Правильне підключення jQuery через CDN репозиторій виглядає так:
add_action('wp_enqueue_scripts', 'add_jquery_script'); function add_jquery_script(){ // реєструємо скрипт в системі wp_register_script( 'jquery', 'https://code.jquery.com/jquery-3.0.0.min.js', false, null, true); // ставимо скрипт в чергу на підключення wp_enqueue_script( 'jquery' ); }
Подібним чином підключаються і CSS стилі, тільки тут використовуються методи wp_register_style()
та wp_enqueue_style()
.