单击 bootstrap 模态按钮(在 wordpress 小部件内)时如何打开 Ninja Form

How to make a Ninja Form open up when you click on a bootstrap modal button (inside of a wordpress widget)

我正在使用以下内容: 忍者版本:3.4.25 / WordPress 版本:5.5 / Bootstrap 版本:3(或可能是 4)

我有一个基于 bootstrap 的 WordPress 模板,我使用的是最新的 Ninja 表单版本。

我在小部件中创建了一个 Bootstrap 按钮,我想打开一个模型 window 显示我的 Ninja 联系表。

我实际上已经成功地使用了旧版本的 Ninja form 进行了此设置。但是自从最近的更新以来,他们已经更改了所有的表单字段名称,所以现在它在我的新站点上不起作用,因为我没有使用正确的字段名称。

如果有人知道旧字段名称:“ninja_forms_display_form”现在是什么,那么您就不必阅读我文档的其余部分。我确实尝试过:“ninja_forms”,但这也没有用。

我将提供我在另一个站点上使用的编码,该站点使用相同的模板,但使用的是旧版本的 Ninja Forms (3.2.11)。这个模态按钮确实有效,可以在侧边栏的绿色 'contact us' 按钮上看到:www.oasisflighttraining.com.au/about-oasis-flying-school/

这是使用 Bootstrap 按钮的边栏小部件代码:

<div class="im-centered">
    <button type="button" class="btn btn-success btn-lg" data-toggle="modal" data-target="#contactform">Contact Us</button>
</div>

这里是创建 Bootstrap 按钮的代码(位于我的 footer.php 文件底部,就在调用 wp_footer 函数之前。

<div class="modal fade" id="contactform">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
        <h4 class="modal-title">Contact Us</h4>
      </div>
      <div class="modal-body">
        <?php 
        
            if( function_exists( 'ninja_forms_display_form' ) ){ ninja_forms_display_form( 1 ); }           
        
        ?>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->  

引用“ninja_forms_display_form”的代码部分在我使用最新版 Ninja Forms 的新站点上不起作用。我知道字段名称已更改,但我不知道用什么替换它。

任何人都可以帮助我弄清楚如何使这个 bootstrap 模式按钮与我的 Ninja Form 一起使用,该 Ninja Form 使用具有新字段名称的更新版本创建?

谢谢!

较新的 Ninja Forms 可以使用短代码,所以我只是更改了这个:

    <?php 
    
        if( function_exists( 'ninja_forms_display_form' ) ){ ninja_forms_display_form( 1 ); }           
    
    ?>

对此:

    <?php echo do_shortcode( '[ninja_form id=1]' ); ?>

(并且作为 public 服务建议.. 只需确保您没有将 bootstrap js 拉入两次,否则模态 window 将不会保留单击按钮后显示。我发现 bootstrap 简码插件添加了另一个 bootstrap.js)