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

Store Custom Wordpress Contact form data into Contact form DB

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

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

终于找到了正确的解决方案。

如果我们想以编程方式将数据推送到联系表单数据库中,您需要了解两件基本的事情:

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的hook

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

使用CF的hook的好处是我们不需要包含CF7DBPlugin.php文件,是一种解耦的方式。缺点是任何其他侦听钩子的插件也会获取数据。