Wp_enqueue_script () - правильно підключає скрипт (javascript файл) на сторінку

Використовувати цю функцію для підключення js файлів важливо, тому що так ви надалі зможете без зайвих проблем об'єднувати JS файли в один. Також в деяких випадках позбудетеся від конфліктів скриптів, коли залежний скрипт підключається після того від якого він залежить.

wp_enqueue_script () додає скрипт, тільки якщо він ще не був доданий і інші скрипти від яких він залежить зареєстровані. Зовсім скрипти додаються автоматично.

Якщо скрипт вже зареєстрований за допомогою wp_register_script (). то для його підключення в wp_enqueue_script () потрібно вказати тільки ярлик скрипта (в першому параметрі).

Якщо скрипт не зареєстрований, то його можна зареєструвати і підключити однією функцією - wp_enqueue_script ():

З версії 3.3. wp_enqueue_script () можна викликати під час генерації сторінки. В цьому випадку викликається скрипт буде підключений в підвалі, в момент спрацювання події wp_footer.

Функція зазвичай викликатися під час наступних подій (вішатися на хукі):

  • wp_enqueue_scripts - для зовнішньої частини сайту;
  • admin_enqueue_scripts - для адмін-панелі;
  • login_enqueue_scripts - для сторінки входу.

Коли потрібно підключити скрипт з умовою, наприклад, використовуйте в додатку до цієї функцію wp_script_add_data ()

повертає

Нічого не повертає.

шаблон використання

Назва скрипта (робоча назва). Рядок в нижньому регістрі.

Якщо рядок містить знак питання (?): Scriptaculousv = 1.2. то попередня частина буде назвою скрипта, а все що після буде додано в УРЛ як параметри запиту. Так можна вказувати версію підключається скрипта.

Цей параметр необхідний тільки, коли скрипт не зареєстрований і WordPress ще не знає про це скрипті, дивіться функцію wp_register_script ().

Не потрібно писати УРЛ жорстко, він повинен визначатися динамічно. Для цього використовуйте функції отримання URL:

Посилання на зовнішні скрипти можна вказувати без вказівки протоколу: //otherdomain.com/js/their-script.js.

Вже зареєстровані в WP скрипти дивіться нижче в цій статті.

За замовчуванням: false

$ Deps (масив) Масив назв скриптів від яких залежить цей скрипт; скрипти які повинні бути завантажені перед цим скриптом. Цей параметр необхідний тільки в разі, якщо WordPress ще не знає про це скрипті.
За замовчуванням: array () $ ver (рядок)

Рядок яка вказує версію скрипта, якщо вона у нього є. Цей параметр використовується для того щоб упевнитися, що клієнт отримав вірну версію скрипта, а не з кеша.

Якщо параметр не вказано, то в якості версії скрипта буде використана версія WordPress.

Якщо вказати null. то ніяка версія не буде додана.

За замовчуванням: false

Підключити скрипт в підвал?

Зазвичай скрипт підключається в документа, якщо вказати true, то скрипт буде підключений перед тегом . точніше там де викликається тег шаблону wp_footer ().

Якщо через залежність від інших скриптів немає можливості підключити поточний скрипт в підвалі, то значення цієї зміною буде проігнаріровано.

Для зрозумілого читання коду, замість true можна вказати будь-який рядок, наприклад 'in_footer'.

За замовчуванням: false

Припустимо, ви хочете замість бібліотеки jQuery зі складу WordPress підключити її CDN-копію. Додайте цей код в файл functions.php активної теми:

# 2 Завантажуємо штатний скрипт scriptaculous.

# 3 Реєструємо і підключаємо свій скрипт, який залежить від jQuery

Зареєструємо і додамо новий скрипт, який залежить від jquery (це також викличе завантаження jquery на сторінці):

# 4 довантажувати скрипт тільки для потрібних типів сторінок

Припустимо нам потрібно використовувати умовні теги, щоб довантажити свій скрипт scriptaculous. Тоді ми може підключитися на хук wp. в момент його спрацювання ми вже можемо використовувати умовні теги, тому через нього ми можемо визначити для яких типів сторінок підключити скрипт, а для яких немає:

# 5 Завантажуємо в темі оформлення скрипт, який залежить від скрипта в WordPress

# 6 Завантажуємо скрипти плагіна тільки на його сторінках

# 7 Як підключити jquery з Google

# 8 Динамічне визначення версії файлу

Щоб при зміні файлу URL файлу відрізнявся і він завантажився в браузер як новий, а не брався з кешу, що сильно спростить розробку, можна вказати версію файлу динамічно на основі часу редагування файлу:

Продуктивність filemtime (get_theme_file_path ( 'js / custom_script.js')) дуже висока - на SSD диску 0,5 сек на 50к ітерацій - це дуже швидко!

jQuery в режимі noConflict

Бібліотека jQuery, включена в WordPress, завантажується в режимі «no conflict». Це зроблено, щоб запобігти проблемам сумісності з іншими бібліотеками, які можуть завантажуватися в WordPress.

У режимі «no-confict» ярлик $ недоступний, замість нього використовується слово jQuery. наприклад:

Цей код працювати не буде і його потрібно переробити так:

Щоб використовувати функцію $ як зазвичай, можна обернути код так:

У цьому фрагменті ваш код буде виконаний, коли сторінка повністю завантажиться. Якщо з якоїсь причини потрібно, щоб код був виконаний відразу (без очікування події «ready» в DOM), можна використовувати такий фрагмент:

Скрипти, які йдуть в комплекті з WordPress