Задать вопрос
@deleted-stiping

Как вывести контент записи в модальное окно wordpress?

Здравствуйте, нужна ваша помощь. Есть Цикл в worpdress, который получает все записи:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
   <?php if ( has_post_thumbnail()) { ?>
   <a  href="#" onclick="openbox('draggable');">
   <?php the_post_thumbnail('img-responsive'); ?>
   </a>
 <?php } ?>


Есть модальное окно, которое вызывается по клику и скрипт который вызывает:

<div id="draggable" style="display: none"</div>

function openbox(id){
    display = document.getElementById(id).style.display;

    if(display=='none'){
       document.getElementById(id).style.display='block';
    }else{
       document.getElementById(id).style.display='none';
    }


Как реализовать вывод контента именно той записи, по которой я кликаю в модальное окно?
  • Вопрос задан
  • 2000 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
like-a-boss
@like-a-boss
Признайся,тебяТянетНаКодМужика,ты—программный гей
2 варианта:
1-й: в цикле кроме всего прочего делаете вывод контента в некий контейнер, который скрывается через css. Затем, при открытии модального окна, клонируете его в контент модального окна и включаете его видимость.
2-ой: отправлять ajax-запрос на сервер за контентом(потребует от вас большего скилла)

Edited:
.content {
	display: none;
}
#draggable .content {
	display: block;
}


<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
		<?php if ( has_post_thumbnail()) { ?>
		<a class="someclass" href="#">
		<?php the_post_thumbnail('img-responsive'); ?>
		</a>
		<div class="content"><?php the_content();?></div>
	<?php } ?>


$('.someclass').on('click', function(e) {
		e.preventDefault();
		var content = $(this).siblings('.content').clone();
		openbox('draggable');
		$('#draggable').append( content );
	});


ПС: не тестил
ну и очищать модальное окно не забывайте, например в начале вашей функции openbox()

Edited 2:
codepen
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы