X
Замовити послугу

Як і де підключити скрипт?

Плагины и Шаблоны для Wordpress
  • 2021-10-20
  • 13611 перегляд

    0 коментар

  • Дизайн і розробка сайту

Доброго вам дня 🙂

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

Подключение скриптов

Де підключати скрипти?

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

Є скрипти, які просто не працюють в шапці або навпаки в підвалі. Можливо на вашому сайті всі виклики скриптів вже розміщені в підвалі для поліпшення швидкості завантаження або ви слідували зазначенням сервісів типу PageSpeed ​​Insights. Якщо це так, то логічно і нові скрипти теж розташовувати в підвалі.

Плагины и Шаблоны для WordPress

Хочу окремо згадати про WordPress. У шапці підключайте свої скрипти після wp_head ();. У підвалі є функція wp_footer();, все підключення після неї. Залежно від налаштувань ці функції виводять бібліотеку jQuery і інші скрипти WordPress, після яких і слід підключати свої. хоча якщо у вас простенький javascript код, то можна і не дотримуватися цього правила.

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

Підключати скрипти можна декількома способами. Для початку розглянемо варіант для Лендінгів, сторінок, простих сайтів. Зазвичай використовується два варіанти. Перший - безпосередньо в коді сторінки розмістити скрипт та заключити його в теги. Наприклад, до статті ми вставляємо простий скрипт, виглядати це буде так.

<script>
    alert( 'Привіт світ!' );
</script>

Як бачите, наш скрипт вкладений в теги - <script> ... </script>, як раз вони і відокремлюють наш скрипт від основного HTML коду. Такий варіант в принципі не поганий, якщо код невеликий.

За цим принципом підключається і бібліотека jQuery. Зазвичай це виглядає так:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

Слід врахувати, що не можна підключати кілька бібліотеки jQuery. Якщо це зроблено вже раніше, то не слід повторювати. Уважно переглядайте код на наявність такого підключення. Найчастіше, в системах управління сайтами, типу WordPress, бібліотека підключена за замовчуванням. Не завжди можна знайти в файлах такий рядок, потрібно дивитися через браузер. Знову, в тому ж WordPress бібліотека виводиться в wp_head(); або wp_footer();, про які я згадав вище, в залежності від налаштувань.

Бібліотека jQuery за кодом повинна бути першою, а скрипти що потребують її повинні бути розміщені після неї. Прості java скрипти цьому правилу не підкоряються, тільки jQuery. Запам'ятайте це правило. Воно допоможе уникнути вам в майбутньому безлічі проблем.

Але якщо він має великий розмір, займати ним місце на сторінці, як на мене, не розумно і не зручно.

Для цього існує другий спосіб, з вкладенням коду в окремий файл і подальшим його підключенням до сторінки. Суть способу в тому, щоб створити файл, наприклад - script.js. Далі всередину файлу додаємо потрібний скрипт. Додавати скрипт потрібно БЕЗ ТЕГІВ!!! - <script> ... </script>.

В один файл можна розміщувати безліч скриптів. Особисто я часто користуюся таким методом. Причому одночасно можна додавати як і звичайний javascript, так і jQuery скрипти.

Після того, як скрипт або скрипти в файл додані, його підключаємо так само як і бібліотеку. За допомогою тегів вказуючи шлях до файлу. Файл заливаєте на сайт в папку з іншими файлами сайту. У яку саме, вирішувати вам, залежно від того яка система у вас або як ви захочете. Наприклад, ви створили поруч з файлом де HTML код, папку з назвою js і в неї помістили наш файл.

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

<script type="text/javascript" src="js/script.js"></script>

Якщо файл з скриптом поза папкою, а поруч з файлом в якому він підключається, то просто вказується його назву. Можна так само вказувати повний шлях, якщо не можете зрозуміти як правильно, або у вас багато папок і не відразу зрозуміло як вказати шлях. Вийде типу - site.com/papka/js/script.js.

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

Окремо хочу розповісти про те як краще підключати скрипти в Вордпресі. Можна використовувати і попередні способи, але як на мене краще використовувати чисто Вордпрессовскій метод за допомогою функції - wp_enqueue_script(). Для цього потрібно використовувати файл для користувача функцій WordPress - function.php. У ньому вже може бути таке підключення і його можна доповнити. Якщо немає, то створюйте нове. Давайте розглянемо як це працює.

По суті ви провертаєте фокус з окремим файлом. Так що як і в попередньому пункті створюєте файл додаєте в нього скрипт або скрипти і кладете його в папку з поточною темою. Ну або в папці з темою створюєте ще папку, в якій будуть зберігається скрипти, а вже в неї наш файл. Далі вже підключаємо через функцію в function.php. Якщо підключати тільки цей один файл - script.js, функція буде такою:

function my_scripts(){
wp_enqueue_script( 'new_script', get_template_directory_uri() . '/js/script.js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );

Такий код додається в будь-яке місце function.php, якщо ви розбираєтеся в function.php. Якщо ж все що в ньому вам не зрозуміло, то додавати потрібно в кінець файлу функцій. Якщо в кінці файлу є закриває тег PHP - ?>, то додавати потрібно перед ним.

Розберемо функцію по-порядку:

  • my_scripts - назва функції, в першому і останньому рядку. Назву вигадайте яку захочете.
  • wp_enqueue_script - наша функція підключення нового скрипту.
  • new_script - назва для нашого скрипту. Ще його називають - робоча назва.
  • get_template_directory_uri() . /js/custom_script.js - шлях до файлу, де get_template_directory_uri() - функція вказує шлях до поточної папки з темою. далі вже вручну прописаний шлях до папки JS і самомого файлу. Якщо ви зрозумієте суть за яким принципом вказується шлях, то легко зможете вказувати правильний.
  • add_action - реєструємо нашу подію у вигляді підключення скриптів. Де вказуємо функцію підключення і нашу назву.

Пам'ятайте я на початку казав про те, що можна налаштувати відображення в підвалі і в шапці. Ця функція за замовчуванням виведе скрипт в шапці. Щоб додати до підвалу потрібно додати в рядок з підключенням ще один параметр.

wp_enqueue_script( 'new_script', get_template_directory_uri() . '/js/script.js', array('jquery'), '', true );
  • array('jquery') - це параметр, який виводить назву масиву скриптів від яких залежить наш файл з скриптом. В даному прикладі наш файл буде підв'язані до бібліотеки jquery. Причому масив, повинен бути завантажений перед нашим скриптом. Як розумієте ми дотримуємося цим параметром умову завантаження бібліотеки перед скриптами.
  • далі йдуть порожні лапки. У них можна написати версію скрипта, якщо вона є. Найчастіше немає ніякої версії, тому просто порожнеча.
  • true - той самий параметр, який і виведе скрипт в підвалі. За замовчуванням - FALSE. У нашому ж випадки вказано true, тобто розміщення в підвалі - ПРАВДА.

Якщо Ви захочете підключити 2 файли то функція буде такою:

function my_scripts(){
wp_enqueue_script( 'new_script', get_template_directory_uri() . '/js/script.js');
wp_enqueue_script( 'new_script_two', get_template_directory_uri() . '/js/newscript.js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );

Як бачите, ми підключили ще й скрипт - newscript.js. Йому поставили нове ім'я - new_script_two. Це обов'язково. Якщо у обох файлів буде однакове ім'я, це погано, виникне помилка. Отже, таким чином можна підключати безліч скриптів.

Так само, за допомогою такої функції можна підключати і бібліотеку jQuery. Але є один момент. За замовчуванням WordPress вже використовує бібліотеку, тому другу так просто не можна підключати, потрібно відключити стару.

Особисто я, завжди відключаю вбудовану бібліотеку і підключаю від Google. Робиться це в такий спосіб. У прикладі буде і перепідключення бібліотеки і підключення файлу зі скриптом, щоб ви бачили як це виглядає і розуміли, що все просто і за тим же принципом.

function my_scripts(){
wp_deregister_script( 'jquery' );
wp_enqueue_script('jquery' , 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js');
wp_enqueue_script( 'new_script', get_template_directory_uri() . '/js/script.js');
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );
  • wp_deregister_script - відключаємо скрипт з назвою - jquery. Тобто нашу бібліотеку за замовчуванням.
  • 2-ий рядок - підключаємо нову бібліотеку за тим же принципом, але вказуємо повний шлях, посилання на сайт google, де лежить бібліотека.
  • Далі йде вже обговорене і описане вище підключення скрипта.

Можливо. здасться складним, але якщо розібратися і зрозуміти суть - все стане ясно, легко і просто. Таке підключення для WordPress є правильним і найкращим.

стиснення скриптів

Незважаючи на те, як ви підключили скрипт, ви можете полегшити його завантаження браузером. Зазвичай скрипт має ось такий вигляд:

jQuery(document).ready(function($) {  
$(window).scroll(function(){
    if  ($(window).scrollTop() > 300)
        $('#slidebox').animate({'left':'0px'},500);//показываем блок
        else
        $('#slidebox').stop(true).animate({'left':'-230px'},500);   
    });
    $('#slidebox .close').bind('click',function(){
        $(this).parent().remove();  //скрываем блок
    });
    });

Погодьтеся, читати такий скрипт легко і зручно, зрозуміло і не напряжно. Але якщо такий зрозумілий скрипт займає 100 рядків. У ньому тисячі пробілів, коментарів та іншого непотрібного мотлоху, що не впливає на скрипт. Але браузеру потрібно трохи більше часу щоб його завантажити. А якщо таких скриптів більше десятка? Навантаження на сайт збільшується і час його завантаження теж. А якщо скрипт стане таким?

jQuery(document).ready(function($){$(window).scroll(function(){if($(window).scrollTop()>300)$('#slidebox').animate({'left':'0px'},500);else $('#slidebox').stop(true).animate({'left':'-230px'},500)});$('#slidebox .close').bind('click',function(){$(this).parent().remove()})});

Непогано правда? Всього один довгий рядок, але набагато менше за обсягом. Читати такий скрипт складніше, але якщо вам не потрібно його постійно правити, ви налаштували його один раз і все, то таке стиснення принесе тільки плюси. Щоб зробити це, можна помучатся вручну або скористатися будь-яким сервісом зі стиснення java скриптів.

Після стиснення і правильного підключення ваші скрипти будуть відмінно працювати і мінімально навантажувати сайт.

На цьому все, спасибі за увагу. 🙂

Якщо Вам була корисним моя праця, можете фінансово підтримати сайт або вимкнути функцію блокування реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу вимкнути функцію блокування

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 11, в среднем: 4.6 из 5
Читайте також