Поддержка Проблемы и решения Конфликт с jquery.min

  • При подключении jquery.min перестало работать выпадающее меню. Как можно вернуть работу?
    Библиотеку jquery.min удалить не могу, она нужна. Если в вордпресс такая и встроенна, то, почему то она не работает.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • потому что в wordpress jquery работает в безопасном режиме. все темы и плагины должны обращаться к jquery через jQuery, а не через $. соответственно, при подключении сторонней библиотеки без безопасного режима перестают работать «родные» скрипты.

    проще всего решить эту проблему путем изменения нужного скрипта, без подключения сторонних копий jquery.

    Если бы я знал как ее изменить……
    Может можно как то в функцион.пшп прописать? Вот сейчас у меня там прописан такой код, можете подсказать как его изменить?

    //Подключаем js для валидации форм
    add_action( 'wp_enqueue_scripts', 'appointment_green_theme_js',999);
    
    function appointment_green_theme_js() {
    wp_enqueue_script( 'appointment-jquery', get_stylesheet_directory_uri() . '/js/jquery.min.js', array(), '1.0', true );
    wp_enqueue_script( 'appointment-jquery.validate', get_stylesheet_directory_uri() . '/js/jquery.validate.min.js', array(), '1.0', true );
    wp_enqueue_script( 'appointment-myscriptspravil', get_stylesheet_directory_uri() . '/js/myscriptspravil.js', array(), '1.0', true );
    wp_enqueue_script( 'appointment-additional-methods.min', get_stylesheet_directory_uri() . '/js/additional-methods.min.js', array(), '1.0', true );
    }

    ну так берете все скрипты из папки js и тупо в них меняете $ на jQuery. подключение jquery.min.js вообще удаляете — стандартной библиотеки из движка достаточно.

    Т.е., например, вот такой кусочек кода
    xA0]+$/g
    нужно заменить на
    xA0]+jQuery/g

    ?

    нет.
    обычно там что-то вроде $. — и вот это меняется на jQuery.

    А есть какой то способ проще?
    Например, что то из редакции функцион, отключить стандартную библиотеку и добавить новую.

    я же выше написал — если вы отключите стандартную библиотеку, то тема и плагины перестанут работать, так как у них там обращения идут через jQuery.

    Все получилось. Спасибо.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    А есть какой то способ проще?

    Можно в начале скрипта написать: var $ = jQuery;, тогда не придётся менять все обращения к $.

    Это был скрипт по валидации формы, там всего в двух местах изменить нужно было.
    Кстати, я пробовал и другие способы, которые описаны в рунете, вроде добавьте что то в файл функцион пшп, ни один из этих способов мне заставить работать не удалось, не говоря уже о том, что они значительно сложнее.

Просмотр 10 ответов — с 1 по 10 (всего 10)
  • Тема «Конфликт с jquery.min» закрыта для новых ответов.