В случае, если использовать
observerUpdate
, вы столкнётесь с сотнями повторений выполнения функции, для решения проблемы достаточно сделать повторную инициализацию после ajax запроса
function loadProjectsPostType(category) {
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
cache: true, // включить кэширование
data: {
action: "load_projects",
category
},
beforeSend: () => $('.loader').addClass('active'),
success: function (data) {
$('.loader').removeClass('active');
$('.projects__items').html(data);
const projectSliders = document.querySelectorAll('.project-slider')
projectSliders && projectSliders.forEach(slider => {
let projectSlider = new Swiper(slider, {
observer: true,
observeParents: true,
observeSlideChildren: true,
navigation: {
nextEl: slider.querySelector('.swiper-button-next'),
prevEl: slider.querySelector('.swiper-button-prev'),
},
spaceBetween: 20,
slidesPerView: 1,
})/* projectSlider */
}) /* forEach */
},
error: function(xhr, status, error) {
$('.error').addClass('active')
console.log("Ошибка запроса. Код ошибки: ",error);
}
})
}