Как повторно загрузить Swiper Slider после загрузки записей через ajax
Всем добрый день! Есть страница на которой выводятся записи с фильтром по таксономии и кнопкой показать еще, загрузка и фильтрация происходит через 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' ) ) );
Источник: Stack Overflow на русском