【问题标题】: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 文件,它是一种解耦的方法。缺点是任何其他监听钩子的插件也会获取数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 2012-03-08
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      相关资源
      最近更新 更多