插入计数器时 ACF 转发器字段未打开模式

ACF repeater field not opening modal when inserting counter

尝试了几种方法,但其中 none 行得通,但不知道还能做什么。作为团队页面的一部分,我有一个带有 4 个子字段的转发器字段——图像、标题(标题)、link(触发模态)和详细信息(模态文本内容)——其中一些应该打开一个带有额外信息的模态点击。模式工作正常,但是当我尝试在代码中插入一个计数器来为每个团队成员打开相应的子字段时,它停止工作并且没有打开任何东西。

这是一段代码。非常感谢任何帮助。

<div class="team-block w4 clear" >                      
    <?php 
        if( have_rows('team_member') ): 
            $counter = 1;
    ?>
    <ul>
        <?php 
            while( have_rows('team_member') ): the_row();

            // vars
            $image = get_sub_field('team_member_image');
            $title = get_sub_field('team_member_title');
            $link = get_sub_field('link_to_details');
            $details = get_sub_field('team_member_details');
        ?>
        <li class="team-member-box">
            <?php if( $link ): ?>
                <a href="<?php echo $link; ?>">
            <?php endif; ?>
            <img class="team-member-image" src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />
            <?php 
                echo $title; 
                if( $link ): 
            ?>
                </a>                    
            <?php 
                endif;  
                if( $link ): 
            ?>
                <div class="remodal team-member-details" data-remodal-id="modal<?php echo $counter;?>">
                    <button data-remodal-action="close" class="remodal-close"></button>
                    <h3>Qualifications</h3>                      
                    <p><?php echo $details; ?></p>
                </div>
            <?php endif; ?>                 
        </li>
        <?php 
            $counter++; 
            endwhile; 
        ?>                  
    </ul>                                                                   
    <?php endif; ?>                     
</div>

看看这个:

<a href="#modal1">Modal №1</a>
<a href="#modal2">Modal №2</a>
<a href="#modal3">Modal №3</a>


<div class="remodal team-member-details" data-remodal-id="modal1">
  <button data-remodal-action="close" class="remodal-close"></button>
  <h3>Qualifications</h3>
  <p>yeah</p>
</div>

<div class="remodal team-member-details" data-remodal-id="modal2">
  <button data-remodal-action="close" class="remodal-close"></button>
  <h3>Qualifications</h3>
  <p>yeah 2</p>
</div>

<div class="remodal team-member-details" data-remodal-id="modal3">
  <button data-remodal-action="close" class="remodal-close"></button>
  <h3>Qualifications</h3>
  <p>yeah 3</p>
</div>

这按预期工作。当我查看您的代码时,我假设单击图像应该触发模式,对吗?我是,试试这个:

<div class="team-block w4 clear" >

    <?php if( have_rows('team_member') ): ?>

    <?php $counter = 1; ?>


        <ul>

        <?php while( have_rows('team_member') ): the_row();

            // vars
            $image = get_sub_field('team_member_image');
            $title = get_sub_field('team_member_title');
            $link = get_sub_field('link_to_details');
            $details = get_sub_field('team_member_details');

            ?>



            <li class="team-member-box">


                    <a href="modal<?php echo $counter;?>">


                <img class="team-member-image" src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" />

                <?php echo $title; ?>

                    </a>

                <?php if( $link ): ?>
                    <div class="remodal team-member-details" data-remodal-id="modal<?php echo $counter;?>">
                      <button data-remodal-action="close" class="remodal-close"></button>
                      <h3>Qualifications</h3>                        
                      <p><?php echo $details; ?></p>
                    </div>
                <?php endif; ?>

            </li>

        <?php $counter++; ?>    

        <?php endwhile; ?>

        </ul>

    <?php endif; ?>

</div>

我不确定这是否正确(不知道如何处理 $link 变量)但这应该有效。