【问题标题】:Store Custom Wordpress Contact form data into Contact form DB将自定义 Wordpress 联系表单数据存储到联系表单数据库中
【发布时间】:2018-12-29 09:54:59
【问题描述】:
我在 Wordpress 中创建了一个自定义表单,用户填写一些输入字段并在提交表单时,现在收件人正在收到邮件。我需要的是当用户提交数据时,数据应该被存储到联系表单数据库中。使用 Contact Form 7 插件,所有数据都已存储,但我需要将自定义联系表单数据存储到联系表单 7 db 中。
你能帮我找到一个可能的解决方案吗?
【问题讨论】:
标签:
database
wordpress
forms
contact-form
contact-form-7
【解决方案1】:
终于找到了准确的解决方案。
如果我们想以编程方式将数据推送到联系表单数据库中,您需要了解两件基本的事情:
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 文件,它是一种解耦的方法。缺点是任何其他监听钩子的插件也会获取数据。