Как повторно загрузить Swiper Slider после загрузки записей через ajax

Рейтинг: 1Ответов: 0Опубликовано: 26.02.2023

Всем добрый день! Есть страница на которой выводятся записи с фильтром по таксономии и кнопкой показать еще, загрузка и фильтрация происходит через ajax, при нажатии на выбранную запись появляется модалка со слайдером.

Если происходит взаимодействие с фильтром или кнопкой показать еще то слайдер соответсвенно перестает работать так как дополнительный скрипт слайдера не загружается заново для нового появившегося контента.

Есть такой код и по логике он должен повторно вызовать скрипт слайдера после отработки ajax, но этого не происходит, а в консоли появляется ошибка POST https://localhost/wp-admin/admin-ajax.php 400

    function initSwiper() {
      var swiper = new Swiper('.swiper-container', {
        slidesPerView: 1,
        spaceBetween: 30,
        loop: true,
        autoplay: true,
        delay: 4000,
        pagination: {
          el: '.swiper-pagination',
          clickable: true,
        },
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev',
        },
      });
    }

    jQuery(document).ready(function() {
      initSwiper()
        var swiper = new Swiper('.swiper-container', {
          slidesPerView: 1,
          spaceBetween: 30,
          loop: true,
          autoplay: true,
          delay: 4000,
          pagination: {
            el: '.swiper-pagination',
            clickable: true,
          },
          navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
          },
        });


      $.ajax({
        url: 'ajax_url',
        dataType: "json",
        type: "POST",
        async: true,
        data: { },
        success: function (data) {
           $('#results').html(data.results_html);
           initSwiper();
        },
        error: function (xhr, exception) {
            // Error handling
        }
      });
    });

Также в functions.php была добавлена локализация

wp_localize_script( 'custom', 'my_ajax_object',
            array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

Ответы

Ответов пока нет.