Отображение содержимого публикации с помощью fancybox

Я пытаюсь отобразить содержимое сообщения в fancybox, и оно почти работает хорошо, за исключением того, что после нажатия на ссылку отображается только содержимое первого сообщения.

Поэтому мне пришла в голову идея добавить идентификатор записи в data-src, но по какой-то причине мой код не добавляет идентификатор.

<ul>
<?php $args = array('post_type' => 'rm', 'showposts' => 20, 'order' => 'ASC'); $the_query = new WP_Query( $args ); ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php $meta = get_post_meta( $post->ID, 'city_council_candidates', true );

$postsData[$row]['links'][$i] = [
'id' => get_the_id(),
];

foreach($postsData as $key => $value) :
$links = $value['links'];

echo '<pre>'; echo var_dump($links); echo '</pre>';
?>

<li class="candidates-wrapper col-12 col-sm-12 col-md-4 col-lg-3 col-xl-2">
<a data-fancybox data-src="#selectableModal-<?php echo $value['id'] ?>" href="javascript:;">
<div class="candidates-img">
<?php the_post_thumbnail(); ?>
</div><!-- .news_img -->
<div class="candidates-name">
<?php echo $meta['name']; ?>
</div>
<div class="candidates-surname">
<?php echo $meta['surname']; ?>
</div>
<div class="candidates-constituency">
<?php echo $meta['constituency']; ?>
</div>

<div style="display: none;max-width:500px;" id="selectableModal-<?php echo $value['id'] ?>">
<h2>
<?php echo $meta['name']; ?><?php echo $meta['surname']; ?>
<h2>
<p>
<?php the_content(); ?>
</p>
</div>
</a>
</li><!-- .news-wrapper -->

<?php
endforeach;
endwhile;
wp_reset_postdata();
?>
</ul>

Как вы можете видеть, я также добавил функцию var_dump, чтобы проверить, $links получают любые идентификаторы из запроса и идентификаторы передаются туда.

В консоли ссылка выглядит так <a data-fancybox="" data-src="#selectableModal-" href="javascript:;">

Что я сделал не так?

0

Решение

<div style="display: none; max-width:500px;" id="selectableModal">
<h2>name + surname<h2>
<p>content</p>
</div>
0

Другие решения

Похоже, проблема в том, что выход <?php echo $value['id'] ?> пуст, поэтому, скорее всего, у вас есть несколько элементов с одинаковым идентификатором — #selectableModal- и это вызывает вашу проблему.

Извините, я не эксперт WP, но, возможно, попробуйте заменить $value['id'] с $post->ID,

0

По вопросам рекламы [email protected]