Отключить подключение jQuery в head в WordPress

4 февр. 2015 г., 03:43:12
Просмотры: 15.6K
Голосов: 2

Мне нужно, чтобы WordPress не подключал jQuery в раздел <head> каждой страницы. Причина в том, что я уже подключаю jQuery в самом низу документа.

Я пробовал это: wp_deregister_script('jquery'), но это не работает.

Как можно удалить jQuery из раздела <head>?

2
Комментарии

Как вы вызываете эту функцию? Хотя следующий вариант может сработать:

function wpdocs_dequeue_script() { wp_dequeue_script( 'jquery' ); } add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );

czerspalace czerspalace
4 февр. 2015 г. 04:01:37

Это сработало! Большое спасибо! Раньше я просто использовал wp_deregister_script('jquery'), но это ничего не дало. Не могли бы вы опубликовать ваше решение в качестве ответа, а не комментария, чтобы я мог принять его.

YemSalat YemSalat
4 февр. 2015 г. 04:08:41
Все ответы на вопрос 3
4

Замена версии jQuery в WordPress — это, как правило, плохая идея. Ознакомьтесь со статьей Pippin Почему загрузка собственной версии jQuery безответственна для получения дополнительной информации.

Вместо полной замены jQuery вы можете переместить предоставленную версию в подвал (футер). Однако учтите, что это, скорее всего, сломает плагины, если они загружают скрипты в шапке сайта.

function themename_print_jquery_in_footer( &$scripts ) {
    // Возвращаем, если сайт запрашивается через админку или кастомайзер темы
    global $wp_customize;
    if ( is_admin() || isset( $wp_customize ) ) {
        return;
    }

    $scripts->add_data( 'jquery-core', 'group', 1 );
    $scripts->add_data( 'jquery-migrate', 'group', 1 );
}
add_action( 'wp_default_scripts', 'themename_print_jquery_in_footer' );
4 февр. 2015 г. 06:16:49
Комментарии

Спасибо! Я думаю, что останусь при своем подходе, так как точно знаю, что делаю, но я бы рекомендовал всем использовать это решение.

YemSalat YemSalat
4 февр. 2015 г. 06:35:23

Внимательнее перечитал статью и понял, что большинство приведенных аргументов на самом деле неверны.

YemSalat YemSalat
4 февр. 2015 г. 06:48:34

Думаю, в статье есть полезные моменты, на которые стоит обратить внимание, но ваш опыт и ситуация могут отличаться. У меня определенно увеличивалась нагрузка из-за плагинов и тем, которые заменяли версию jQuery от WordPress на свою собственную.

Dylan Dylan
4 февр. 2015 г. 07:12:56

Статья предназначена для разработчиков тем, а не для администраторов сайтов. Кроме того, в ней делается неверное предположение, что если не загружать jQuery в режиме 'noConflict', это каким-то образом предотвратит использование переменной jQuery, что просто не соответствует действительности.

YemSalat YemSalat
4 февр. 2015 г. 07:32:55
0

следующий код может сработать

function wpdocs_dequeue_script() {
        wp_dequeue_script( 'jquery' ); // Отключаем скрипт jQuery
} 
add_action( 'wp_print_scripts', 'wpdocs_dequeue_script', 100 );
4 февр. 2015 г. 04:13:24
0
-1
<?php 
function my_jquery_remove() {
    if (!is_admin()) {
       wp_deregister_script('jquery');
       wp_register_script('jquery', false);
    }
}
add_action('init', 'my_jquery_remove'); 
?>

Попробуйте этот код - он корректно удаляет библиотеку jQuery. Код из других ответов может удалять весь JavaScript.

7 окт. 2017 г. 12:02:57