为了账号安全,请及时绑定邮箱和手机立即绑定

使用 ACF 对嵌套中继器字段输出进行分组

使用 ACF 对嵌套中继器字段输出进行分组

PHP
慕莱坞森 2022-08-19 15:53:05
我正在尝试输出嵌套的ACF中继器字段,以便输出如下:组 1 名称组 1 值数组:捐赠者姓名公司名称照片网址组 2 名称组 2 值数组:捐赠者姓名公司名称照片网址到目前为止,我有以下代码:    $sponsor_group_names = array();    $donor_names_list = array();    $donor_company_names_list = array();    $donor_photo_urls = array();    $donors_group_list = array();    if (have_rows('sponsor_group')):        while ( have_rows('sponsor_group')) : the_row();            $sponsor_group_name = get_sub_field('sponsorship_group_name');            array_push($sponsor_group_names, $sponsor_group_name);                if (have_rows('group_donors')):                    while ( have_rows('group_donors')) : the_row();                        $donors_group = get_field('group_donors');                        array_push($donors_group_list, $donors_group);                        $donor_name = get_sub_field('donor_name');                        array_push($donor_names_list, $donor_name);                        $donor_company_name = get_sub_field('donor_company_name');                        array_push($donor_company_names_list, $donor_company_name);                        $donor_photo = get_sub_field('donor_photo');                        array_push($donor_photo_urls, $donor_photo);                    endwhile;                endif;        endwhile;    endif;此输出为我提供了 1 和 2 的不同组名称,但为公司名称、照片 URL 和捐赠者名称输出相同的信息。理想情况下,我希望设置我的代码,以便它使用类似,但是我以前尝试模仿我在ACF支持论坛上看到的内容,结果产生了NULL输出。key=>value$donor_photo_urls['group 1']最终,我想为每个组名称打印唯一的数组。感谢您的任何帮助!
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

我假设您的中继器已设置为此处的嵌套中继器。在转发器上使用该函数实际上将返回一个关联数组,其中包含所有子字段及其中的任何转发器。https://www.advancedcustomfields.com/resources/get_field/group_donorssponsor_groupget_field()


因此,您应该能够执行以下操作来输出所有组及其嵌套的捐赠者。


foreach (get_field('sponsor_group') as $sponsorGroup) : ?>

    <h2 class="text-primary mb-3"><?= $sponsorGroup['sponsorship_group_name'] ?></h2>

    <div class="row" style="margin-bottom: 0 !important">

        <?php foreach ($sponsorGroup['group_donors'] as $groupDonor) : ?>

            <div class="col-md-4 contact-card" style="min-width: 300px;">

                <div class="row" style="margin-bottom: 0 !important">

                    <div class="col-lg col-6"><img src="<?= $groupDonor['donor_photo'] ?>" class="donor-photo"></div>

                    <div class="col-lg col-6 donor-info">

                        <p><?= $groupDonor['donor_name'] ?></p>

                        <p><?= $groupDonor['donor_company_name'] ?></p>

                    </div>

                </div>

            </div>

        <?php endforeach ?>

    </div>

<?php endforeach;


查看完整回答
反对 回复 2022-08-19
  • 1 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信