【问题标题】:count up the rows in acf (repeater-field) and add html output for every row计算acf(repeater-field)中的行数并为每一行添加html输出
【发布时间】:2019-11-19 03:44:36
【问题描述】:

我想输出一个列表元素(

  • ) 用于 ACF 转发器字段的每一行。一旦创建了新行,就应该使用计数器的值(cout up)创建一个新的列表元素。

    这里是代码。列表元素应根据行数计算出来:

    HTML:

    <ul>
                         <li data-id="1" class="active">1</li>
                            <li data-id="2">2</li>
                            <li data-id="3">3</li>
                            <li data-id="4">4</li>
                            <li data-id="5">5</li>
                            <li data-id="6">6</li>
                            <li data-id="7">7</li>
                            <li data-id="...">...</li>
    
    
                        </ul>
    

    PHP (ACF):

      <?php
                    $i = 1;
                    if (have_rows('referenz-slide')) :
                        $counter = 0;
                        while (have_rows('referenz-slide')) : the_row();
                        $counter++;
    
                            // vars
                            $title = get_sub_field('title');
                            $link = get_sub_field('link');
                            $text = get_sub_field('text');
    
                            ?>
    
                            <?php $state = "";
                            if ($i == 1) {
                                $state = "active";
                            } else {
                                $state = "hidden";
                            } ?>
    
                            <div class="referenz-content <?php echo $state; ?>" id="ref-<?php echo $i; ?>" data-referenz="<?php echo $i; ?>">
                                <h4 class="referenz-headline"><?php echo $title; ?></h4>
                                <p><?php echo $text; ?></p>
                                <a href="<?php echo $link['url']; ?>" target="_blank" title="Jetzt mehr erfahren" class="btn btn-referenz">Jetzt mehr erfahren</a>
    
                            </div>
    
                            <?php $i++;
                        endwhile; ?>
    
                    <?php else : ?>
    
                    <?php endif; ?>
                    <?php wp_reset_postdata(); ?>
    

    我想根据 ACF 行数增加列表项和数据 ID(html 输出)的值。有人可以帮忙吗?

  • 【问题讨论】:

    • 'referenz-slide' 是您要为其执行此操作的中继器吗?
    • 是的,'referenz-slide' 是中继器

    标签: advanced-custom-fields


    【解决方案1】:

    所以你几乎已经拥有了一切

    <ul>
    <?php while (have_rows('referenz-slide')) : the_row();?>
    
        <li data-id="<?php echo $i;?>" class="<?php echo $state; ?>">
            <?php echo $i;?>
        </li>
    
    <?php $i++; ?>
    <?php endwhile; ?>
    </ul>
    

    【讨论】:

    • 谢谢,这几乎可以工作。但是第一个列表元素是空的,没有数字,有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 2021-10-04
    • 2022-01-24
    • 2012-11-30
    • 2023-03-07
    • 2017-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多