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')
我正在使用集成了 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')