ACF 和 Gravity Forms 插件集成(使用 for 循环)

ACF and Gravity Forms Plugin Integration (Using a for loop)

我正在使用集成了 Gravity Forms 的 Advanced Custom Fields for Wordpress in combination with a plugin

该插件提供了一个 gravity_forms 函数,可以在该函数中向前端显示比重形式。

根据插件的 documentation,我使用 for 循环循环遍历所有重力形式,并在页面后端显示选择的形式。

我的代码如下所示:

if( have_rows('content_area') ):
while ( have_rows('content_area') ) : the_row(); 
    if( get_row_layout() == 'gravity_form' ):
        $form = get_sub_field('form'); 
            foreach($forms as $form) {
                gravity_form($form, true, true, false, '', true, 1); 
    }
    endif;
endwhile;
else :
// do nothing
endif;

当我删除 foreach 循环并将特定表单 ID 传递到 gravity_form 函数(而不是 $form 变量)时,它会将正确的表单输出到页面。

我的 PHP 技能不是很好,所以我怀疑是我遗漏了文档没有包含的东西。

这是我的 ACF 设置的一些屏幕截图。

我也尝试过:

可能不值得一提

$form = get_field('form');

删除 foreach,因为变量 $forms 不存在,所以它不能工作。

试试看:

if( have_rows('content_area') ):
while ( have_rows('content_area') ) : the_row(); 
    if( get_row_layout() == 'gravity_form' ):
       if( get_row_layout() == 'gravity_form' ):
           gravity_form(get_sub_field('form'), true, true, false, '', true, 1); 
       }
    }
    endif;
endwhile;
else :
// do nothing
endif;

编辑: 如果要返回多个表单,则可以使用 foreach 但使用正确的变量,因此只需将 $form = get_sub_field('form'); 替换为 $forms = get_sub_field('form')