Поддержка Проблемы и решения Jquery не работает на WordPress

  • Есть на сайте Слайдер и Аккордион (что-то вроде раскрывающегося списка).

    Как я понял, для слайдера у меня используется обычный jquery.js (в wp-includes который) + какие-то свои js скрипты

    Для аккордиона у меня используется (в футере) + еще пару скриптов типа cbpNTAccordion.min.js

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="http://sitelabor.info/wp-content/themes/barletta/js/jquery.cbpNTAccordion.min.js"></script>
    
    <script>
    			$( function() {
    				/*
    				- how to call the plugin:
    				$( selector ).cbpNTAccordion( [options] );
    				- destroy:
    				$( selector ).cbpNTAccordion( 'destroy' );
    				*/
    
    				$( '#cbp-ntaccordion' ).cbpNTAccordion();
    
    			} );
    		</script>

    Проблема. Вот при таком раскладе как сейчас, у меня НЕ работает слайдер (slider responsive slideshow), но работает аккордион. Ок. Если я уберу вот эту строку
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

    то слайдер начинает работать, но аккордион перестат (список не раскрывается).

    Я так понимаю идет какой-то конфликт скриптов, но не могу понять как решить проблему.
    Подскажите пожалуйста.

    Пробовал убирать полностью jquery.js — не помогло

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

    • Ответ изменён 7 лет, 5 месяцев назад пользователем Flector.

    Спасибо!

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    если же вы от гугла подрубаете, то надо наоборот обращения менять с jQuery() на $().

    Зачем? Оба варианта должны работать.

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

    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

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

    Ещё один вариант, сделать wrapper:

    
    (function ($) {
      $(document).ready(function () {
        
      });
    })(jQuery);
    

    В таком виде не должно конфликтовать.

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Тема «Jquery не работает на WordPress» закрыта для новых ответов.