Открытие записей WordPress в модальном окне Bootstrap
Мне нужна помощь в открытии записей WordPress в модальном окне Bootstrap.
Сейчас у меня есть главная страница с сеткой, которая выводит записи.
Настроено так, что каждая запись находится в квадратном блоке и связана ссылкой для открытия модального окна Bootstrap.
Модальное окно должно загружать данные из той записи, по которой был совершен клик.
На данный момент оно открывает только последнюю запись на странице, независимо от того, по какой записи был сделан клик.
Полагаю, мне нужно сообщить модальному окну, какая запись была выбрана, чтобы оно могло загрузить правильные данные, но я не знаю как это сделать.
Буду благодарен за любую помощь.
Вот мой текущий код:
<?php get_template_part('templates/page', 'header'); ?>
<?php if (!have_posts()) : ?>
<div class="alert">
<?php _e('Извините, результаты не найдены.', 'roots'); ?>
</div>
<?php get_search_form(); ?>
<?php endif; ?>
<div class="row">
<?php while (have_posts()) : the_post(); ?>
<?php
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 5600,1000 ), false, '' );
?>
<a href="#myModal" data-toggle="modal">
<div class="span2" style="background: #09F url(<?php echo $src[0]; ?>) center no-repeat !important;">
<?php get_template_part('templates/content', get_post_format()); ?>
</div>
</a>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<h3 id="myModalLabel">
<?php the_title(); ?>
</h3>
</div>
<div class="modal-body">
<p><?php the_post_thumbnail(); ?></p>
</div>
<div class="modal-footer">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
</div>
<?php endwhile; ?>

Это было решено следующим образом:
Сетка и модальное окно находятся в цикле.
Я просто добавил -<? the_ID(); ?>
как к <a href>
, вызывающей модальное окно, так и к <div id>
для модального окна, что каким-то образом передает ID записи в окно, позволяя подтягивать правильную информацию для записи.
<div class="container" style="margin-top:20px; min-height:500px;" >
<div class="row">
<?php
$labels = new WP_Query(array(
'post_type' => 'slider',
'posts_per_page' => 1000
));
while ( $labels->have_posts() ) :
$labels->the_post();
?>
<?php
$src = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), array( 5600,1000 ), false, '' );
?>
<a href="#myModal-<? the_ID(); ?>" data-toggle="modal" >
<div class="span2" style="background: #09F url(<?php echo $src[0]; ?>) center no-repeat !important;">
<?php the_title();?>
</div>
</a>
<div id="myModal-<? the_ID(); ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<h3 id="myModalLabel">
<?php the_title();?>
</h3>
<p>
<?php the_content();?>
</p>
</div>
<div class="modal-body">
<?php the_post_thumbnail(); ?>
</div>
<div class="modal-footer">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
</div>

Для получения содержимого записи WordPress в модальном окне Bootstrap -
Вызов файла модального окна
<a href="<?php bloginfo('template_url');?>/modal.php?ID=<?php the_ID(); ?>" data-toggle="modal"> Получить детали </a>
Создайте файл modal.php в папке вашей темы
<?php
require('/wp-blog-header.php'); // WordPress должен распознать ваш файл модального окна, фактически загружая большую часть функционала WordPress, который вы привыкли использовать.
$post_id = $_GET['ID'];
$queried_post = get_post($post_id);
$queried_object = get_queried_object();
?>
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myModalLabel"><?php echo $queried_post->post_title; ?></h4>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">X</span><span class="sr-only">Закрыть</span></button>
</div>
<div class="modal-body">
<?php
echo $queried_post->post_content;
?>
</div>
</div>
</div>
