Отменяет регистрацию указанного в параметрах JavaScript-файла, тем самым у нас появляется возможность перерегистрировать свою собственную версию или модификацию этого файла перед непосредственным подключением.
Мой видеоурок про правильное подключение CSS и JavaScript в WordPress.
wp_deregister_script( $handle );
Функция ничего не возвращает.
Кроме того, вы можете использовать wp_deregister_script()
в комбинации с wp_register_script() после неё, для того, чтобы изменить URL уже подключенного скрипта с сохранением его порядка подключения.
Сейчас мы отключим стандартный файл jQuery в WordPress на сайте.
add_action( 'wp_enqueue_scripts', 'true_deregister_jquery', 25 ); function true_deregister_jquery() { wp_deregister_script( 'jquery' ); // после этой строчки jQuery будет отключен }
Не знаете, куда вставлять код?
Интересный момент, который нужно иметь ввиду. Если вы используете wp_deregister_script()
в админке WordPress, а именно – на хуке admin_enqueue_scripts
, или на странице логина (хук login_enqueue_scripts
) то некоторые идентификаторы скиптов будут проигнорированы (чтобы вы не сломали админку нафик), а именно это:
jquery
,jquery-core
,jquery-migrate
,jquery-ui-core
,jquery-ui-accordion
,jquery-ui-autocomplete
,jquery-ui-button
,jquery-ui-datepicker
,jquery-ui-dialog
,jquery-ui-draggable
,jquery-ui-droppable
,jquery-ui-menu
,jquery-ui-mouse
,jquery-ui-position
,jquery-ui-progressbar
,jquery-ui-resizable
,jquery-ui-selectable
,jquery-ui-slider
,jquery-ui-sortable
,jquery-ui-spinner
,jquery-ui-tabs
,jquery-ui-tooltip
,jquery-ui-widget
,underscore
Больше информации про регистрацию JS-файлов вы можете найти в этом видеоуроке.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.
Привет, Миша!
Можешь ли подсказать по поводу этого хука.
Я поставила такой код для подгрузки jquery с гугла (без этого не работает слайдшоу и раскрытие меню).
но плагин перенаправлений фиксирует 404 ошибку - в любой url добавляется /undefined?тут_цифры
Как еще можно отключить подгрузку встроенного квери?
Привет!
Да к черту версию, укажи этот параметр
null
. То есть откинь последние два параметра функции.Во-вторых, условия
!is_admin()
не нужно, добавь весь этот код в хукwp_enqueue_scripts
.Короче вот:
Если ничего не изменится, пиши, разберемся.
Не, не изменилось.. Я потом попробовала вставить код напрямую в хедер. Та же проблема. Оказалось, что это особенность самого гугловского жквери. Другие библиотеки, с того же jquery.com, не добавляют такого в урл, но и не работают на раскрытие меню.
Пока нашла выход из положения дописав в хтаккесс.
RedirectMatch 301 (.*)\/undefined$ $1/
Подбирать другой скрипт и загружать его со своего хостинга?
Ну просто посмотри тогда, какая версия jquery подключается из гугла, скачай и залей её к себе на хостинг.
Так тоже пробовала. Видимо гугл что-то добавил в скрипты.
В итоге выяснилось, что проблема связана со скриптом слайдера Camera.
Обернула
и undefined исчезло из url-а.
Сейчас использую твой код. Спасибо!
Ок, отлично! Рад, что всё работает.
Михаил, пожалуйста подскажи, почему не работает wp_deregister_script?
Делаю так:
Но на страницу подгружается всё равно родной!
Заранее спасибо за ответ.
Спасибо, но я это пробовал, не получается.. Как только появляется строка
на страницу инклудится родной jquery.
Может тогда так?
Так тоже пробовал, тот же результат. Я не победил этот момент, а нужно это было для плагина, который инклудится в массив jquery
. Пришлось вручную редактировать файл плагина, а после обновления всё сотрется.