【问题标题】:Passing a Contact Form 7 Value to another Form in Wordpress将联系表 7 值传递给 Wordpress 中的另一个表单
【发布时间】:2019-11-15 17:51:06
【问题描述】:

我的网站上有一个联系表,它将信息保存到我们的联系表数据库中。我还需要将这些数据传递给另一个表单。

<div class="row">
<div class="column small-12 medium-6">[text* first-name placeholder "First Name*"]</div>
<div class="column small-12 medium-6">[text* last-name placeholder "Last Name*"]</div>
<div class="column small-12 medium-6">[email* email placeholder "Email*"]</div>
<div class="column small-12 medium-6">[text* phone placeholder "Phone*"]</div>
<div class="column checking"><span class="intro">Preferred method of contact*</span> [checkbox* checkbox use_label_element "Email" "Phone"]</div>
<div class="column small-12">[textarea* enquiry placeholder "Further Info"]</div>
<div class="column text-center"><button type="submit" class="button">Send Enquiry</button></div>
</div>

我需要将名字、姓氏、电子邮件、电话和查询占位符信息传递到以下表格中。

<form id="form" action="http:www.contoso.com.jsp" method="post">
<input type="hidden" name="FirstName" value="first-name"/>
<input type="hidden" name="LastName" value="last-name"/>
<input type="hidden" name="Email" value="email"/>
<input type="hidden" name="Mobile" value="phone"/>
<input type="hidden" name="Comment" value="enquiry"/>

如何通过 Wordpress 中的 Contact Form 7 将第一个表单中的信息获取到第二个表单?

我认为这可能在CF7的附加设置页面中起作用,但我的编码知识相当低:

document.getElementById('FirstName').value = document.getElementById('first-name').value;
document.getElementById('LastName').value = document.getElementById('last-name').value;
document.getElementById('Email').value = document.getElementById('email').value;
document.getElementById('Mobile').value = document.getElementById('phone').value;
document.getElementById('Comment').value = document.getElementById('enquiry').value;
on_submit: "document.forms['form'].submit();"

【问题讨论】:

    标签: javascript html wordpress contact-form contact-form-7


    【解决方案1】:

    我有另一个逻辑来实现你的目标。 1)在您的站点数据库中创建一个非常基本的表:

    CREATE TABLE wp_cf7_test(
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      name VARCHAR(50)
    );
    

    2) 接下来登录您的 wordpress 网站管理区域并打开 Contact Form 7 表单编辑器并再次创建一个非常简单的表单,如下所示:

    [text* name]
    [submit "Send"]
    

    完成之后,打开你的站点 functions.php 文件并创建以下函数,这应该是相对不言自明的,初始化 $wpdb 全局变量,我们将使用它来触发插入查询。然后您将 WPCF7_Submission::get_instance() 方法分配给一个变量并访问您需要的已发布数组的任何部分,或者在这种情况下,它只是一个名为“名称”的项目,这就是我们表单输入字段的名称。最后执行插入函数,将数据发送到之前创建的表中。 :

    <?php 
    function contactform7_before_send_mail( $form_to_DB ) {
        global $wpdb;
        $form_to_DB = WPCF7_Submission::get_instance();
        if ( $form_to_DB ) 
            $formData = $form_to_DB->get_posted_data();
        $name = $formData['name'];
    
        $wpdb->insert( 'wp_cf7_test', array( 'name' =>; $name ), array( '%s' ) );
    }
    remove_all_filters ('wpcf7_before_send_mail');
    add_action( 'wpcf7_before_send_mail', 'contactform7_before_send_mail' );
    

    最后将 Contactform7 的值获取到您想要的任何其他表中。

    【讨论】:

      猜你喜欢
      • 2015-09-22
      • 2014-05-26
      • 2013-03-03
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多