Я пытаюсь работать с WordPress и пользовательским циклом для отображения изображений в карусели Flickity.Каждое изображение отображает различные статьи в Bootstrap Modal по щелчку.Все работает правильно.
Благодаря Джонатану Ортеге на этом посте Мне почти удалось добавить модальный хеш в URL в зависимости от клика пользователя.Проблема в том, что я получаю "... / # undefined" в URL вместо точного модального имени.Странно то, что, если я загружаю страницу с помощью «www.MYWEBSITE.com/#MYMODAL», это работает очень хорошо, страница успешно открывается на желаемом модале.Но это не работает при клике.
Вот скрипт jQuery в заголовке:
$(document).ready(function(){
// some other script....
$(window.location.hash).modal('show');
$('li[data-toggle="modal"]').click(function(){
window.location.hash = $(this).attr('href');
});
});
И мой собственный цикл WordPress, включающий модальное событие:
<div class="slider slider--columns" data-arrows="true" data-paging="true">
<ul class="slides">
<?php
$args = array(
'post_type' => 'MY_POST_TYPE',
'posts_per_page' => -1
);
$MYPOSTTYPE = new WP_Query ($args);
if ($MYPOSTTYPE->have_posts() ):
while ($MYPOSTTYPE->have_posts() ): $MYPOSTTYPE->the_post();
?>
<li class="col-sm-4 col-xs-6" data-toggle="modal" data-target="#modal<?php the_field('MODAL_ID_THING') ?>">
<div id="MY_ID" style="background-image: url(BGIMAGE.png) !important;"><img style="visibility: hidden;" alt="Image" src="dummyimage.png"></div>
</li>
<?php
endwhile; endif;
wp_reset_postdata();
?>
</div>
</ul>
Как видите, модал вызывается через <?php the_field('MODAL_ID_THING') ?>
.Сначала я думал, что сценарию jQuery не нравится цикл PHP, поэтому вместо этого я ввел простое значение, ссылающееся на один из моих модалов, например "# modalnumber1", только для тестирования, но произошло то же самое.
Я также пыталсяизменить $(window.location.hash).modal('show')
в скрипте с $(window.location.hash).modal('toggle')
, та же проблема.
Большое спасибо!