我在Wordpress中创建了一个自定义表单,用户在其中填写了一些输入字段,并且在提交表单后,现在收件人正在接收邮件。我需要的是,当用户提交数据时,数据应该存储到联系表单DB中。使用Contact Form 7插件,所有数据都已存储,但是我需要将自定义联系人表单数据存储到Contact Form 7数据库中。
您能帮我找到一个可能的解决方案吗?
答案 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文件,这是一种分离的方法。缺点是侦听该钩子的任何其他插件也将获取数据。