高级自定义字段:中继器

Advanced Custom Fields : Repeaters

我正在尝试使用 ACF 在下方显示

(有多个版块所以把这个版块做成复读版) - 章节标题 (在部分标题下有多个包,因此也将此部分设为转发器) -- 包标题 -- 价格

每次我添加一个部分时,它应该显示为上一个部分下方的新部分。而不是它显示在上一节的内部。

你能指出我这里做错了什么吗?

<div class="pricing">
            <?php
                if(have_rows('packages')): 
                    while(have_rows('packages')) : the_row();?>
                <div class="pricing-section">        
                <?php  echo the_sub_field('section_title_and_details'); ?>
                </div>
                
                <div class="pricing-package-container">        
                    <?php if(have_rows('package_details')): 
                                while(have_rows('package_details')) : the_row(); ?>
                    <div class="pricing-packages">
                                <h3><?php echo the_sub_field('package_name'); ?></h3>
                                <h4><?php echo the_sub_field('price'); ?></h4>
                    </div>
                            <?php endwhile;
                        endif;
                    endwhile;
                endif;
                ?>
                </div>
        </div>

正如@HowardE 上面指出的那样,pricing-package-container 在循环之外关闭。 修复如下。

<!-- Custom Feilds -->
        <div class="pricing">
            <?php
                if(have_rows('packages')): 
                    while(have_rows('packages')) : the_row();?>
                <div class="pricing-section">        
                <?php the_sub_field('section_title_and_details'); ?>
                </div>
                
                    <div class="pricing-package-container">        
                    <?php if(have_rows('package_details')): 
                                while(have_rows('package_details')) : the_row(); ?>
                    <div class="pricing-packages">
                                <h3><?php the_sub_field('package_name'); ?></h3>
                                <h4><?php the_sub_field('price'); ?></h4>
                    </div>
                            <?php endwhile;
                        endif; ?>
                    </div>
                   <?php endwhile;
                endif;
                ?>
        </div>