【问题标题】:ACF and Gravity Forms Plugin Integration (Using a for loop)ACF 和 Gravity Forms 插件集成(使用 for 循环)
【发布时间】:2018-07-23 16:09:24
【问题描述】:

我正在将 Advanced Custom Fields 用于 Wordpress,并与集成了 Gravity Forms 的 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');

【问题讨论】:

    标签: php wordpress advanced-custom-fields gravity-forms-plugin


    【解决方案1】:

    删除foreach,因为var $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')

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-26
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多