WordPress 上的重力表

Gravity Form on WordPress

我正在尝试提取动态表单 ID 来为最终用户创建下拉菜单。这是我在这里完成的。

现在,我想传递该 ID,以便根据选择显示不同的表单,如下所示:

<form class="ui form">
    <select name="select" class="ui fluid search selection dropdown">
           <?php $myforms = RGFormsModel::get_forms(); foreach ($myforms as $form) { ?> 
             <option name="select" value="<?php echo $form->id ?>"> <?php echo $form->title ?> </option>                
        <?php } ?>
    </select>
</form>
<?php echo gravity_form($form, true, true, false, '', true, 1); ?>

下面是我可能会做的,为从 URL 参数中提取 ID 的重力形式制作简码。

function return_gform_embed(){
  $form_id = $_GET["form_id"];
  return do_shortcode('[gravityform id="'.$form_id.'" title="false" description="false"]');
}

add_shortcode('form-url', 'return_gform_embed');

您可以将短代码 [form-url] 添加到您希望显示表单的页面。

所以现在带有 ?form_id=6 的 URL 将加载 ID 为 6 的重力形式。我没有测试整个 javascript 方面,但假设您可以更改 URL 并强制重新加载应该没问题。

如果它能帮助其他人,我最终会这样做:

<form class="ui form">          
    <select name="select" id="select" class="ui fluid search selection dropdown" onchange="location = this.options[this.selectedIndex].value;">
        <?php
            function return_gform_embed(){
                 $form_id = $_GET["form_id"];
                 return do_shortcode('[gravityform id="'. $form_id .'" title="false" description="false"]');
        }
            add_shortcode('form-url', 'return_gform_embed');            
        ?>
        <?php $myforms = RGFormsModel::get_forms(); foreach ($myforms as $form) { ?>
            <option value="/prevention/sessions/?form_id=<?php echo $form->id ?>"> <?php echo $form->title ?> </option>
        <?php } ?>      
    </select>
</form>
<?php echo do_shortcode('[form-url]') ?>