Поскольку заголовок подразумевает, что этот код показывает все вопросы, которые я добавляю в цикл / аккордеон, но независимо от того, какой из них я нажимаю, он только открывает и закрывает первый, и я не могу сказать, почему.
<div class="container">
<div class="row">
<div id="accordion" role="tablist" aria-multiselectable="false" class="py-4">
<?php
$counter = 0;
$loop = get_field('questions');
foreach($loop as $row) : ?>
<div class="card card-no-border card-no-shadow">
<div class="card-header" role="tab" id="heading<?php echo $counter++ ?>">
<h5 class="mb-0">
<a class="body2 uppercase bold" data-toggle="collapse" data-parent="#accordion"href="#collapse<?php the_ID(); ?>"aria-expanded="<?php echo $first; ?>" aria-controls="collapse<?php the_ID(); ?>">
<i class="fa fa-chevron-right" aria-hidden="true"></i>
<span style='padding-right: 20px;'></span>
<?php echo $row['question_title']?>
</a>
</h5>
</div><div id="collapse<?php the_ID(); ?>" class="collapse<?php if ($first) {
echo "show";
} ?>" role="tabpanel"aria-labelledby="heading<?php the_ID(); ?>">
<div class="card-block body2">
<?php echo $row['answer'] ?>
</div>
</div>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
Я бы сказал, что вам нужно посмотреть на свои идентификаторы
href="#collapse<?php the_ID(); ?>"
id="collapse<?php the_ID(); ?>"
функция the_id выводит идентификатор текущей страницы, а не идентификатор каждого цикла / вопроса
Вы могли бы использовать свой счетчик вместо
id="collapse<?php echo $counter; ?>"
Других решений пока нет …