Как предотвратить загрузку старых версий jQuery в WordPress через wp_head()?

23 авг. 2013 г., 17:31:21
Просмотры: 16.1K
Голосов: 5

Я заметил, что моя тема Twenty Twelve подключает устаревшие версии jQuery и других JS-библиотек через wp_head(). Хочу заменить их на новые версии, но скрипты подключаются через wp_head() (вероятно, из wp-includes). Если я просто добавлю новые скрипты в header.php, jQuery будет загружаться дважды. Проблема в том, что я не вижу способа удалить скрипты из wp_head() без правки файлов в wp-includes, а любые изменения там будут потеряны при обновлении WordPress.

Как я могу навсегда удалить эти скрипты из wp_head()?

0
Все ответы на вопрос 2
1
add_action('wp_enqueue_scripts', 'no_more_jquery');
function no_more_jquery(){
    wp_deregister_script('jquery');
}

Это отменит регистрацию jQuery. Но зачем вам вообще отказываться от jQuery?

Если вы хотите просто использовать свою версию, вам следует сделать это в этой функции, вот так:

add_action('wp_enqueue_scripts', 'no_more_jquery');
function no_more_jquery(){
    wp_deregister_script('jquery');
    wp_register_script('jquery', "http" . 
    ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . 
    "://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js", false, null);
    wp_enqueue_script('jquery');
}

Этот пример загружает jQuery от Google, но вы можете легко загрузить версию, которая находится в папке вашей темы. Подробнее об этом процессе можно прочитать здесь: Function Reference/wp enqueue script « WordPress Codex

P.S. Этот код следует поместить в functions.php. И не самая лучшая идея просто вставлять вызовы библиотеки jQuery в заголовок, так как это может конфликтовать с плагинами или другими элементами, которые ожидают наличие jQuery.

23 авг. 2013 г. 17:43:39
Комментарии

спасибо. Я добавил jquery и jquery-ui таким способом. Я не хочу изменять что-либо за пределами моей дочерней темы, так что это отличное решение.

Lisandro Vaccaro Lisandro Vaccaro
23 авг. 2013 г. 18:19:21
0

Самый простой способ обновить jQuery — использовать плагин jQuery Updater.

Если вы хотите просто удалить версию WordPress, добавьте

wp_deregister_script('jquery');

в ваш файл functions.php.

23 авг. 2013 г. 17:42:33