Підступна війна росії проти України. Орієнтовні втрати ворога
(станом на 29.04.2024)
467470
осіб
348
літаків
325
гелікоптерів
7285
танків
14007
ББМ
11985
артилерія
778
ППО
1051
РСЗВ
16109
машин
26
кораблі і катери
Як підключити JavaScript і CSS в тему або плагін WordPress
Опубліковано

Як підключити JavaScript і CSS в тему або плагін WordPress

Для дизайнерів і розробників, які працюють з WordPress, дуже важливо знати, як правильно підключаються файли JavaScript і CSS в тему і/або плагін. Адже неправильне включення таких файлів може призвести до конфліктів з іншими темами і плагінами, і створити потенційні вразливості.
Є один варіант правильного підключення JS/CSS файлів в ВордПрес, і один неправильний, і ми їх сьогодні детально розглянемо.

1-й варіант:

Завантаження і підключення скриптів через функцію wp_register_script у файлі functions.php

wp_register_script ($handle, $src, $deps, $ver, $in_footer);

де:

$handle – робоча назва скрипта в системі (унікальний ID)
$src – шлях до потрібного файлу у вашому плагіні або темі
$deps – масив, що містить $handle для будь-яких інших скриптів, від яких залежить ваш скрипт
$ver – номер версії скрипта. За замовчуванням WordPress буде використовувати свій власний номер версії (версія движку)
$in_footer – ви хочете, щоб ваш скрипт завантажувався у футері (підвалі сайту)? Тоді використовуйте значення true. Значення false – це значення за замовчуванням, при якому скрипт завантажується в секцію head.

Розглянемо приклад підключення скрипта у файлі functions.php теми:

function pidklyuchennya_scriptiv () {
// Реєструємо скрипт в системі (для плагіна):
wp_register_script ('pevniy-script', plugins_url ('/js/pevniy-script.js', __FILE__));
// або
// Реєструємо скрипт в системі (для теми):
wp_register_script ('pevniy-script', get_template_directory_uri () . '/js/pevniy-script.js');
// Після реєстрації ми можемо ставити в чергу виклик скрипта для будь-якого плагіна або теми:
wp_enqueue_script ('pevniy-script');
}
// Викликаємо хук-подію
add_action ('wp_enqueue_scripts', 'pidklyuchennya_scriptiv');

 

Тепер більш детально про код.

Для початку ми реєструємо скрипт, щоб WordPress «дізнався» про нього, присвоюємо йому системне ім’я та вказуємо його розташування.

Потім, якщо ваш скрипт потребує однієї з бібліотек, які включені в WordPress, такі як jQuery, ви можете використовувати третій параметр функції $deps, який «поміщає» ваш скрипт після підключення скриптів, зазначених в цьому параметрі:
 

wp_register_script ('pevniy-script', plugins_url ('/js/pevniy-script.js', __FILE__), array ('jquery'));
 
Цей параметр є масивом, тому ви можете підключати кілька скриптів, наприклад,
 
array ('jquery', 'jquery-ui-core') .
 

Якщо вам потрібно, щоб до назви файлу скрипта додавалася версія, використовуйте 4-й параметр функції $ver. Для прикладу скористаємося сьогоднішньої датою і подивимося, як тепер виглядає код:

wp_register_script ('pevniy-script', plugins_url ('/js/pevniy-script.js', __FILE__), array ('jquery'), '29072015');

а на сайті, в розділі head цілий рядок підключення JS-скрипта буде виглядати так:

<script type='text/javascript' src='http://vashsait.com/wp-content/plugins/vashplugin/js/pevniy-script.js?ver=29072015'></script>

 

Ви можете використовувати будь-яку версію нумерації на свій розсуд.

І, на завершення, розглянемо 5-й параметр: підключення скрипта у футері сайту – $in_footer для цього у функцію реєстрації скрипта додаємо 5-м параметром true.

wp_register_script ('pevniy-script', plugins_url ('/js/pevniy-script.js', __FILE__), array ('jquery'), '29072015', true);

 

З усіма параметрами наша функція набуває наступного вигляду:

function pidklyuchennya_scriptiv () {
    // Реєструємо скрипт в системі (для плагіна):
    wp_register_script ('pevniy-script', plugins_url ('/js/pevniy-script.js', __FILE__), array ('jquery'), '29072015', true);
    // Або
    // Реєструємо скрипт в системі (для теми):
    wp_register_script ('pevniy-script', get_template_directory_uri () . '/js/pevniy-script.js', array ('jquery'), '29072015', true);
 
    // Після реєстрації ми можемо ставити в чергу виклик скрипта для будь-якого плагіна або теми:
    wp_enqueue_script ('pevniy-script');
}
add_action ('wp_enqueue_scripts', 'pidklyuchennya_scriptiv');

 

Процес підключення стилів майже ідентичний процесу підключення скриптів. Це робиться за допомогою функції WordPress під назвою wp_register_style, а ось його використання відповідно до WordPress Codex:

wp_register_style ($handle, $src, $deps, $ver, $media);

 

Зверніть увагу, що єдина різниця між wp_register_script і wp_register_style в тому, що замість параметра $in_footer, використовується параметр $media. Цей параметр може приймати наступні значення: ‘all’, ‘screen’, ‘handheld’, і ‘print’, або будь-який інший тип носія, визначений W3C.

Розглянемо приклад підключення файлу стилів у файлі functions.php:

function pidklyuchennya_stiliv () {
    // Реєструємо файл стилів в системі (для плагіна):
    wp_register_style ('pevniy-style', plugins_url ('/css/pevniy-style.css', __FILE__), array (), '29072015', 'all');
    // Або
    // Реєструємо стиль в системі (для теми):
    wp_register_style ('pevniy-style', get_template_directory_uri () . '/css/pevniy-style.css', array (), '29072015', 'all');
     // Після реєстрації ми можемо ставити в чергу виклик файлу стилів для будь-якого плагіна або теми:
    wp_enqueue_style ('pevniy-style');
}
// Викликаємо хук-подію.
add_action ('wp_enqueue_scripts', 'pidklyuchennya_stiliv');

 

Це досить повний приклад, в якому використовується більшість параметрів, а на виході він виглядає наступним чином:

<link rel='stylesheet' id='pevniy-style-css' href='http://vashsait.com/wp-content/plugins/vashplugin/css/pevniy-style.css?ver=29072015' type='text/css' media='all'/>

 

2-й варіант (помилковий):

Завантаження і підключення скриптів через файли шаблону header.php і footer.php

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

Щоб підключити скрипти і файли стилів в хедері та футері, потрібно лише додати рядок коду у файли header.php (для завантаження в секцію head) і footer.php (для завантаження в підвал сайту):

приклад для підключення скриптів

<script type='text/javascript' src='http://vashsait.com/wp-content/plugins/vashplugin/js/pevniy-script.js?ver=29072015'></script>

 

приклад для підключення стилів

<link rel='stylesheet' id='pevniy-style-css' href='http://vashsait.com/wp-content/plugins/vashplugin/css/pevniy-style.css?ver=29072015' type='text/css' media='all'/>

 

 

Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *