
WordPress по умолчанию поставляется с встроенной библиотекой jQuery, что избавляет от необходимости загружать её вручную. Однако порядок подключения зависит от того, создаёте ли вы тему или разрабатываете плагин. Важно использовать встроенные механизмы wp_enqueue_script, чтобы избежать конфликтов и гарантировать корректную загрузку.
При работе с jQuery в WordPress нужно учитывать, что система подключает библиотеку в «noConflict» режиме. Это означает, что привычный символ $ будет недоступен напрямую. Для сохранения совместимости скрипты оборачивают в функцию jQuery(document).ready(function($){ … });, где знак $ снова становится сокращением для jQuery внутри области видимости.
Неправильное подключение библиотеки – частая причина ошибок: дублирование скриптов, блокировка других плагинов и падение производительности. Поэтому стоит придерживаться пошагового алгоритма: зарегистрировать библиотеку с помощью wp_register_script, затем подключить её через wp_enqueue_script, указав зависимости и корректное расположение в коде. Такой подход гарантирует, что jQuery загрузится только один раз и в нужный момент.
Подключение jQuery в WordPress шаг за шагом

WordPress по умолчанию уже содержит jQuery, но библиотека не всегда загружается автоматически. Для корректного подключения нужно использовать функции wp_enqueue_script() и wp_enqueue_scripts.
Откройте файл functions.php вашей темы и добавьте следующий код:
function my_theme_scripts() {
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');
Такой вызов загрузит встроенную в WordPress версию jQuery без необходимости вручную подключать файлы.
Если требуется конкретная версия из внешнего CDN, используйте:
function my_theme_scripts() {
wp_deregister_script('jquery');
wp_register_script(
'jquery',
'https://code.jquery.com/jquery-3.7.1.min.js',
false,
'3.7.1',
true
);
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');
Ключевой момент – всегда использовать встроенные хуки WordPress, а не добавлять теги <script> напрямую в header.php или footer.php. Это гарантирует совместимость с плагинами и правильную загрузку скриптов.
Проверка встроенной версии jQuery в WordPress
WordPress загружает собственную сборку jQuery, которая подключается через wp_enqueue_script('jquery'). Чтобы убедиться, какая версия используется на вашем сайте, выполните несколько шагов:
- Откройте фронтенд сайта и перейдите в инструменты разработчика браузера (обычно клавиша F12).
- Перейдите во вкладку Console и введите команду:
jQuery.fn.jqueryВ ответ отобразится точный номер версии.
- Для проверки из кода темы или плагина можно использовать PHP-функцию:
global $wp_scripts; echo $wp_scripts->registered['jquery']->ver;
Рекомендуется сверять эту версию с актуальной на официальном сайте jQuery, чтобы оценить необходимость обновления или использования стороннего подключения.
- Если версия устарела, безопаснее использовать стандартную сборку WordPress, а обновление производить через корректные хуки.
- Прямое подключение новой версии без отключения встроенной может вызвать конфликты с плагинами.
Подключение jQuery через functions.php с wp_enqueue_script

WordPress уже содержит встроенную библиотеку jQuery, поэтому не требуется загружать её с CDN вручную. Для корректного подключения используется функция wp_enqueue_script() внутри functions.php.
- Откройте файл
functions.phpактивной темы или дочерней темы. - Добавьте функцию для регистрации и подключения скриптов:
function my_theme_scripts() {
wp_enqueue_script('jquery');
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');
Этот код активирует встроенный jQuery и гарантирует его загрузку вместе с другими скриптами темы.
- Не используйте прямое подключение через тег
<script>вheader.phpилиfooter.php– это нарушает систему зависимостей. - Если требуется собственная версия jQuery, отключите встроенную и зарегистрируйте новую:
function custom_jquery_version() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script(
'jquery',
'https://code.jquery.com/jquery-3.7.1.min.js',
array(),
null,
true
);
wp_enqueue_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'custom_jquery_version');
Здесь:
is_admin()предотвращает замену jQuery в админке.nullвместо версии отключает добавление атрибутаverв URL.trueв конце функцииwp_register_scriptразмещает скрипт перед закрывающим тегом</body>.
Замена встроенной библиотеки на актуальную версию с CDN

По умолчанию WordPress подключает устаревшую версию jQuery из ядра. Чтобы заменить её, нужно сначала отключить стандартную библиотеку:
function replace_jquery_version() {
if (!is_admin()) {
wp_deregister_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'replace_jquery_version');
Затем регистрируем и подключаем свежую версию jQuery с CDN. Оптимальным решением является использование Google Hosted Libraries или jsDelivr:
function add_new_jquery() {
if (!is_admin()) {
wp_register_script(
'jquery',
'https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js',
array(),
'3.7.1',
true
);
wp_enqueue_script('jquery');
}
}
add_action('wp_enqueue_scripts', 'add_new_jquery');
Параметр true в функции wp_register_script гарантирует загрузку скрипта внизу страницы, что снижает время рендеринга. Версию библиотеки указывайте явно, чтобы избежать конфликтов при обновлениях.
Если тема или плагины используют старый синтаксис jQuery, рекомендуется включить режим совместимости через подключение пакета jquery-migrate:
wp_enqueue_script(
'jquery-migrate',
'https://cdn.jsdelivr.net/npm/jquery-migrate@3.4.1/dist/jquery-migrate.min.js',
array('jquery'),
'3.4.1',
true
);
Такой подход обеспечивает актуальность библиотеки, улучшает совместимость с современными скриптами и повышает производительность за счет использования глобальных CDN.
Отключение автоматической загрузки jQuery в админке

WordPress по умолчанию подключает jQuery во всех страницах админки через встроенный скрипт jquery-core. Чтобы отключить его автоматическую загрузку, необходимо использовать хук admin_enqueue_scripts и функцию wp_deregister_script().
Пример кода для файла functions.php вашей темы или плагина:
add_action('admin_enqueue_scripts', function() { wp_deregister_script('jquery'); });
После этого jQuery перестанет загружаться в админке, что снижает количество HTTP-запросов и уменьшает вес страницы. Важно проверять, что ни один установленный плагин или тема не зависит от jQuery в админке, иначе возможны ошибки интерфейса.
Если требуется заменить стандартную версию jQuery на свою, подключение производится через wp_register_script() с указанием URL и версии, а затем через wp_enqueue_script(). Например:
add_action('admin_enqueue_scripts', function() { wp_deregister_script('jquery'); wp_register_script('jquery', 'https://code.jquery.com/jquery-3.7.0.min.js', [], '3.7.0'); wp_enqueue_script('jquery'); });
Такой подход позволяет точно контролировать версию jQuery, используемую в административной части, и исключает конфликты между плагинами.
Добавление собственного скрипта с зависимостью от jQuery
В WordPress для корректного подключения собственного скрипта с зависимостью от jQuery используется функция wp_enqueue_script. Пример базовой структуры в файле functions.php темы:
function my_theme_scripts() {
wp_enqueue_script(
'my-custom-script', // Уникальный идентификатор скрипта
get_template_directory_uri() . '/js/my-script.js', // Путь к файлу
array('jquery'), // Зависимость от jQuery
'1.0.0', // Версия скрипта
true // Подключение в футере
);
}
add_action('wp_enqueue_scripts', 'my_theme_scripts');
Параметр array('jquery') гарантирует, что jQuery будет загружен перед вашим скриптом. Без этого скрипт может не работать из-за отсутствия библиотеки.
Для проверки правильного подключения скрипта используйте wp_footer() в файле footer.php. Загруженные скрипты отображаются в HTML после вызова этой функции.
Важно соблюдать последовательность загрузки скриптов. Ниже приведена таблица с рекомендуемой структурой подключения:
| Тип скрипта | Пример функции | Расположение | Зависимости |
|---|---|---|---|
| jQuery | wp_enqueue_script('jquery'); |
Верх страницы или футер | нет |
| Собственный скрипт | wp_enqueue_script('my-custom-script', get_template_directory_uri() . '/js/my-script.js', array('jquery'), '1.0.0', true); |
Футер | jQuery |
Для локальной разработки рекомендуется использовать минифицированные версии скриптов .min.js и задавать точную версию jQuery для совместимости с вашим кодом.
Если скрипт должен работать только на определённых страницах, добавьте условные проверки внутри функции:
if (is_page('contact')) {
wp_enqueue_script('my-custom-script', get_template_directory_uri() . '/js/contact.js', array('jquery'), '1.0.0', true);
}
Это оптимизирует загрузку и предотвращает лишние запросы на страницах, где скрипт не нужен.
Проверка работы jQuery через консоль и отладку ошибок
Для проверки работы конкретного кода используйте простой тест:
jQuery(document).ready(function(){ console.log(‘jQuery работает’); }); После обновления страницы в консоли должно появиться сообщение jQuery работает.
Ошибки часто возникают из-за конфликта с другими библиотеками, особенно Prototype. В WordPress используйте режим noConflict:
var $j = jQuery.noConflict(); $j(document).ready(function(){ console.log(‘jQuery через $j’); }); Это исключает пересечение с глобальным $.
Если консоль выдаёт Uncaught ReferenceError или $ is not defined, проверьте: правильность подключения через wp_enqueue_script(‘jquery’), порядок скриптов и наличие кэширования. В DevTools вкладка Network должна показывать загрузку jquery.js без ошибок 404.
Регулярная проверка через консоль предотвращает скрытые ошибки и гарантирует стабильную работу jQuery на сайте WordPress.
Вопрос-ответ:
Как проверить, подключен ли jQuery в моей теме WordPress?
Чтобы проверить подключение jQuery, откройте консоль браузера на странице сайта (обычно клавиша F12) и введите команду jQuery или $. Если вы видите функцию или объект, значит библиотека подключена. Если появляется ошибка типа «undefined», jQuery не загружен, и необходимо подключить его через functions.php или через плагин.
Где в WordPress лучше подключать jQuery: в header или footer?
В WordPress рекомендуется подключать jQuery в футере, чтобы ускорить загрузку страниц. Для этого используется функция wp_enqueue_script с параметром true для загрузки в футере. Такой подход позволяет сначала загрузить основной контент, а скрипты подгружаются после, что уменьшает задержку рендеринга страницы.
Можно ли использовать свою версию jQuery вместо встроенной в WordPress?
Да, можно. Для этого сначала нужно отключить стандартную версию с помощью wp_deregister_script('jquery'), а затем подключить свою через wp_enqueue_script, указав ссылку на нужную версию. Важно убедиться, что версия совместима с другими скриптами и плагинами на сайте, чтобы не вызвать конфликты.
Как подключить jQuery только на одной странице сайта?
Для подключения jQuery на конкретной странице используйте условные теги WordPress. Например, в functions.php можно написать: if (is_page('contact')) { wp_enqueue_script('jquery'); }. Так библиотека будет загружаться только там, где это действительно нужно, что снижает нагрузку на сайт и ускоряет работу остальных страниц.
Почему после подключения jQuery некоторые скрипты не работают?
Чаще всего это происходит из-за конфликта с версией jQuery или неправильного порядка подключения скриптов. В WordPress jQuery работает в режиме noConflict, поэтому использование знака $ напрямую может вызвать ошибки. Решение — обернуть код в конструкцию jQuery(document).ready(function($){ ... });, чтобы $ работал внутри функции без конфликтов.
