Я использую Сову Карусель с петлей, и она отлично работает.Если вы отметите https://owlcarousel2.github.io/OwlCarousel2/docs/started-welcome.html, вы можете найти официальную документацию.
Я думаю, что ваш PHP-код не генерирует правильную структуру html в отношении файлов по умолчанию js, css owl carousel , которые вы должны включить в свой проект
<link rel="stylesheet" href="owlcarousel/owl.carousel.min.css">
<link rel="stylesheet" href="owlcarousel/owl.theme.default.min.css">
<script src="jquery.min.js"></script>
<script src="owlcarousel/owl.carousel.min.js"></script>
Предполагая, что вы работаете с этими файлами по умолчанию, ваш PHP-код выглядит следующим образом
<div class="items award-full-slider">
//YOUR WP LOOP $query = new WP_Query(array( ...
//YOUR WP LOOP while ($query->have_posts()) : $query->the_post(); ...
<div class="item">
//YOU ARE POSTING SLIDES HERE
</div>
//ENDLOOP
</div>
Я думаю, что это должно быть сделано в отношении документации , так что это должно быть что-товот так вместо этого
<div class="items award-full-slider">
//YOUR WP LOOP $query = new WP_Query(array( ...
//YOUR WP LOOP while ($query->have_posts()) : $query->the_post(); ...
<div class="item">
//YOUR POSTING STUFF HERE
</div>
<?php endwhile; wp_reset_postdata(); ?>
</div>
<div class="items award-full-slider">
<div class="owl-carousel owl-theme owl-loaded">
<div class="owl-stage-outer">
<?php
$query = new WP_Query(array(
'post_type' => 'award',
'posts_per_page' => 30,
'orderby' => 'date',
'order' => 'DESC',
));
while ($query->have_posts()):
?>
<div class="owl-stage">
<div class="owl-item">
//Echo something here with regards to your WP_query posts objects
<?php echo get_the_post_thumbnail(get_the_ID(), 'default');
//and maybe the award-country, award-category ...
?>
</div>
</div>
</div>
</div>
</div>
И, честно говоря, я не понимаю, почему вы добавляете несколько классов сова-карусель !!когда вам просто нужно применить js-функцию owl carousel для вашего слайдера, как описано в документации, то это должно выглядеть следующим образом.
jQuery(function($){ // use jQuery code inside this to avoid "$ is not defined" error
var owl = $('.owl-carousel');
owl.owlCarousel({
items:3,
loop:true, //HERE YOU ARE SAYING I WANT THE INFINITE LOOP
margin:0,
autoplay:true,
autoplayTimeout:1000,
autoplayHoverPause:true,
nav:false,
dots:false
});
$('.play').on('click',function(){
owl.trigger('play.owl.autoplay',[1000])
})
$('.stop').on('click',function(){
owl.trigger('stop.owl.autoplay')
})
});
Здесь вы можете найти пояснения для параметров slider , Таким образом, вы получаете этот бесконечный цикл, когда определяете loop в true в вызове функции js owlCarousel.
Вы можете использовать несколько Каруселей Owl на странице, вам просто нужно изменить свой HTML-код и JavaScript
Тег div, содержащий класс "owl-carousel", должен иметь другой пользовательский класс для каждой карусели, например:
Thejavascript должен быть обновлен, каждая карусель:
$ ('. first-carousel'). owlCarousel ({// complete args ..
$ ('. second-carousel').owlCarousel ({// complete args ..
Ссылка на рабочий пример