【发布时间】:2022-01-24 17:09:30
【问题描述】:
我正在尝试使用 ACF 转发器字段来使用带有简单问答字段的 Bootstrap 5 构建 FAQ 手风琴。我正在将结果打印出来,但手风琴扩展器会在单击时打开所有字段,而不仅仅是在单击时打开目标字段。如何调整 ID 以仅打开被点击的字段?
当前代码
<?php elseif ( get_row_layout() == 'module__faq' ) : ?>
<!-- Module: FAQ
================================================== -->
<div class="section-interior-content bg-white py-5">
<div class="container text-center text-md-start">
<div class="row">
<div class="col-12 col-lg-4 text-center text-md-start order-lg-first">
<h2 class="black">
Lorem ipsum
</h2>
</div>
<div class="col-12 col-lg-8 order-first">
<?php if ( have_rows( 'faq' ) ) : ?>
<div class="accordion accordion-flush" id="faqlist">
<?php $i=1; while ( have_rows( 'faq' ) ) : the_row(); ?>
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button collapsed text-uppercase" type="button" data-bs-toggle="collapse" data-bs-target="#faq-content-1">
<?php the_sub_field( 'question' ); ?>
</button>
</h2>
<div id="faq-content-1" class="accordion-collapse collapse" data-bs-parent="#faqlist">
<div class="accordion-body px-4">
<?php the_sub_field( 'answer' ); ?>
</div>
</div>
</div>
<?php endwhile; ?>
</div>
<?php else : ?>
<?php // no rows found ?>
<?php endif; ?>
</div>
</div>
</div>
</div>
<!-- END Module: FAQ
================================================== -->
<?php endif; ?>
更新:解决方案
我通过为每个常见问题解答添加一个唯一的 id 字段以最快的方式解决了这个问题 - 基于这篇文章:Issue with ACF repeater accordeon loop
【问题讨论】:
标签: advanced-custom-fields repeater bootstrap-5