Почну з початку. CDN (Content Delivery Network або Content Distribution Network — мережа доставки контенту) — технологія географічно точної доставки контенту (файлів), так щоб комп’ютер користувача завантажив файл якомога швидше, за рахунок максимально близького розташування сервера до користувача.

Така мережа доставки файлів є у Google, Yandex та інших пошукових і не тільки систем. У веб-розробці, такі мережі найчастіше використовуються для підключення часто використовуваних бібліотек, зокрема jQuery. Ось посилання на CDN від Google, де розташовані всі часто використовувані javascript бібліотеки.
Правильне підключення jQuery в WordPress
Помилка

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

Помилка не в тому, що не буде працювати. А в тому, що в WordPress існує спеціальний програмний метод додавання скриптів на сторінку зі своїми функціями: wp_register_script (), wp_enqueue_script (), wp_deregister_script () і т.д. Такий метод необхідний для запобігання конфліктів при підключенні одного і того ж скрипта різними плагінами. Незамінний, при оптимізації завантаження файлів для прискорення завантаження всієї сторінки. Так, якщо всі скрипти підключені правильно, то їх можна програмно об’єднати в один файл і віддавати браузеру в стислому вигляді. Ну і врешті-решт — це правильно, коли є порядок і правила, які WordPress свято чтёт, адже якщо все було зроблено за правилами, то при оновленні та зміні функцій саме єдиний стандарт допоможе швидко або навіть непомітно перейти до оновлень.
Правильно

Правильний варіант підключення jQuery скрипта це використання функції wp_enqueue_script (). Таке підключення відповідає стандарту і убезпечить вас від конфліктів з підключенням цього ж скрипта в плагінах (скрипт буде підключений один раз):

Вставляти цей код потрібно в файл теми functions.php. Після того, як код буде вставлений, в частині сторінки у вас з’явиться такий рядок:

Використання CDN при підключенні jQuery в WordPress

Приклад вище показує як підключити jQuery з файлів самого WordPress, тоді як я б порекомендував підключати jQuery з CDN Google. Таке підключення має ряд переваг:

Файл віддається в стислому вигляді і важить менше;
Якщо відвідувач вже заходив на сайт де jQuery підключався також, то в його кеші вже є цей скрипт і він взагалі не буде завантажуватися, при відвідуванні вашого сайту. Читав в мережі аналітично-статистичну статтю на цю тему — близько 15-20% сайтів використовують підключення CDN Google для jQuery і цей показник зростає;
Файл подгружается в окремий потік.

Щоб підключити jQuery з CDN Google, потрібно спочатку відзначити вже зареєстрований в WordPress скрипт (шлях до файлу jQuery) і зареєструвати свій. Робиться цей шляхом додавання в functions.php такого коду:
function my_scripts_method() {
// отменяем зарегистрированный jQuery
// вместо «jquery-core» просто «jquery», чтобы отключить jquery-migrate
wp_deregister_script( ‘jquery-core’ );
wp_register_script( ‘jquery-core’, ‘//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’);
wp_enqueue_script( ‘jquery’ );
}

add_action( ‘wp_enqueue_scripts’, ‘my_scripts_method’ );

Використання CDN при підключенні jQuery в WordPress

Приклад вище показує як підключити jQuery з файлів самого WordPress, тоді як я б порекомендував підключати jQuery з CDN Google. Таке підключення має ряд переваг:

Файл віддається в стислому вигляді і важить менше;
Якщо відвідувач вже заходив на сайт де jQuery підключався також, то в його кеші вже є цей скрипт і він взагалі не буде завантажуватися, при відвідуванні вашого сайту. Читав в мережі аналітично-статистичну статтю на цю тему — близько 15-20% сайтів використовують підключення CDN Google для jQuery і цей показник зростає;
Файл подгружается в окремий потік.

Щоб підключити jQuery з CDN Google, потрібно спочатку відзначити вже зареєстрований в WordPress скрипт (шлях до файлу jQuery) і зареєструвати свій. Робиться цей шляхом додавання в functions.php такого коду:

Не використовуємо jquery-migrate плагін

Якщо вам не потрібен плагін jquery-migrate.js, а потрібен тільки сам jQuery і ви знаєте що робите. Для підключення jQuery використовуйте такий код:

function my_scripts_method() {
// отменяем зарегистрированный jQuery
wp_deregister_script( ‘jquery’ );
wp_register_script( ‘jquery’, ‘//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’, false, null, true );
wp_enqueue_script( ‘jquery’ );
}

add_action( ‘wp_enqueue_scripts’, ‘my_scripts_method’ );

Тут скасувавши «jquery» (wp_deregister_script (‘jquery’);) ми автоматично скасовуємо прив’язку mirgate плагіна до jQuery і реєструємо «jquery» заново. В результаті ми отримаємо тільки такий рядок:

true в кінці (false, null, true) означає, що скрипт по можливості буде підключений до підвалу сайту. Якщо є інші скрипти які підключаються в head частину і залежать від jQuery, то незважаючи на останній аргумент true, jquery все одно буде підключений в head частину документа.
Динамічна версія jQuery з WordPress

Вам можливо потрібно буде підключити jQuery тієї версії, яка використовується в WordPress, але з CDN сервісу. Приклад нижче показує, як отримати поточну версію jQuery, використовувану в WordPress і використовувати її в CDN посиланням:
function my_scripts_method () {
// Отримуємо версію jQuery
wp_enqueue_script (‘jquery’);
$ wp_jquery_ver = $ GLOBALS [‘wp_scripts’] -> registered [‘jquery’] -> ver; // Для версій WP менше 3.6 ‘jquery’ міняємо на ‘jquery-core’
$ jquery_ver = $ wp_jquery_ver == »? ‘1.11.0’: $ wp_jquery_ver;

wp_deregister_script (‘jquery-core’);
wp_register_script (‘jquery-core’, ‘//ajax.googleapis.com/ajax/libs/jquery/’. $ jquery_ver. ‘/ jquery.min.js’);
wp_enqueue_script (‘jquery’);
}
add_action (‘wp_enqueue_scripts’, ‘my_scripts_method’, 99);