将自定义Wordpress联系人表单数据存储到联系人表单数据库中

时间:2018-07-21 06:35:09

标签: database wordpress forms contact-form contact-form-7

我在Wordpress中创建了一个自定义表单,用户在其中填写了一些输入字段,并且在提交表单后,现在收件人正在接收邮件。我需要的是,当用户提交数据时,数据应该存储到联系表单DB中。使用Contact Form 7插件,所有数据都已存储,但是我需要将自定义联系人表单数据存储到Contact Form 7数据库中。

您能帮我找到一个可能的解决方案吗?

1 个答案:

答案 0 :(得分:1)

最后,找到确切的解决方案。

如果我们要以编程方式将数据推送到Contact Form DB中,则需要了解两点基本知识:

How to struture your form data so that the plugin knows how to consume it
How to call the plugin’s save data function

数据的结构应如下:

$data = (object)  array(
    'title' => 'form-name',
    'posted_data' => array(
    'fname' => $_POST['fname'],
    'lname' => $_POST['lname'],
    'email' => $_POST['email']);

在此示例中,“ form-name”是表单的名称,而“ fname”,“ lname”和“ email”是表单字段。将其替换为表单中的字段。

调用插件

require_once(ABSPATH . 'wp-content/plugins/contact-form-7-to-database-extension/CF7DBPlugin.php');
$plugin = new CF7DBPlugin();
$plugin->saveFormData(&$data);

或使用CF7的钩子

do_action_ref_array( 'wpcf7_before_send_mail', array( &$data) );

使用CF的钩子的优点是我们不需要包含CF7DBPlugin.php文件,这是一种分离的方法。缺点是侦听该钩子的任何其他插件也将获取数据。