插入计数器时 ACF 中继器字段未打开模式

Posted

技术标签:

【中文标题】插入计数器时 ACF 中继器字段未打开模式【英文标题】:ACF repeater field not opening modal when inserting counter 【发布时间】:2017-01-24 11:57:24 【问题描述】:

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

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

<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']; ?>"  />
            <?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>

【问题讨论】:

【参考方案1】:

看看这个:

<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']; ?>"  />

                <?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 var),但这应该可以。

【讨论】:

将# 添加到href“modal”之后就像一个魅力。我还需要将 if( $link ) 位保留在那里,因为我只想要一个模式供那些有额外内容要查看的人使用,而不是全部。非常感谢! 很高兴我能帮上忙! :)

以上是关于插入计数器时 ACF 中继器字段未打开模式的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress ACF 中继器子字段

ACF 中继器字段和 Clearfix / 显示时的样式

ACF 中继器子字段 Shuffle(wordpress 高级自定义字段)

搜索和显示 ACF 中继器子字段

ACF 中继器字段仅显示一行

ACF 中继器字段:对链接使用函数