Корректное подключение jQuery в теме WordPress

Казалось бы простая вещь – подключение библиотеки jQuery в тему или плагин WordPress, в макете, обычно, это делается так – в секцию <head> добавляется строка инициализации библиотеки:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

Такое решение будет работать и в теме WordPress до тех пор, пока не появится какой-либо из элементов CMS, в работе которого необходима данная библиотека. Если требуемые версии совпадают, проблемы скорее всего не возникнет, в противном случае возникнет конфликт библиотек. Более того, в случае подключения библиотеки указанным выше способом велика вероятность возникновения затруднений в работе сайта связанных с последовательностью загрузки скриптов.

Для решения всех указанных проблем в CMS WordPress предусмотрен механизм безопасного подключения скриптов и библиотеки jQuery в частности. Все просто, в файл functions.php необходимо добавить:

function jquery_init() {
    if (!is_admin()) {
        wp_enqueue_script('jquery');
    }
}
add_action('wp_enqueue_scripts', 'jquery_init');

Используя фильтр wp_enqueue_scripts (вместо фильтра init), мы избегаем регистрации альтернативной версии jQuery на страницах панели управления, что (среди прочего) снижает риск нарушения работы редактора записей при обновлении. – WordPressCodex

В указанном коде, к рекомендуемому в кодексе способу подключения, добавлено условие – данная функция не будет выполняться, если пользователь вошел в консоль сайта.

Источники:
codex.wordpress.org: – wp_enqueue_script()add_action()is_admin();
developers.google.com/speed/libraries/devguide#jquery

Опубликовано

Обратите внимание на предыдущие записи: