【问题标题】:Access form data after submitting Contact Form 7提交联系表 7 后访问表单数据
【发布时间】:2020-12-21 18:14:06
【问题描述】:

我安装了联系表格 7,我想在发送电子邮件之后或之前访问表格数据。理想情况下,我不需要发送电子邮件,我只需要表单数据来填充custom fields

到目前为止我发现的是这样的:

add_action('wpcf7_mail_sent', function ($cf7) {
    // Run code after the email has been sent
    echo $cf7;
    die();
});

将上述动作添加到functions.php 后,表单动作永远不会完成。我想查看数据、查找 postID 并创建自定义字段。

感谢任何帮助。

【问题讨论】:

    标签: wordpress contact-form-7


    【解决方案1】:

    die() 阻止代码运行,将其删除,它应该可以正常工作。

    现在关于 from 数据,您将需要获取表单实例,然后您将可以访问所有表单数据。

    这是一个例子

    add_action('wpcf7_mail_sent', function ($cf7) {
      $submission = WPCF7_Submission::get_instance();
      if ($submission) {
        $cf7_data = $submission->get_posted_data();
      }
    }
    

    现在因为所有这些都发生在后端,您将无法回显其中的任何内容来检查您得到的结果。

    我为此使用 phps error_log 函数。 这是一个sn-p:

    error_log(print_r($your_value_here, true), 3, __DIR__ . '/temp-log.txt');
    error_log("\r\n\r\n", 3, __DIR__ . '/temp-log.txt');
    

    这将在主题的根目录中创建一个名为 temp-log.txt 的文件,其中包含您传递给 error_log 的数据。 将 $your_value_here 更改为您需要的任何内容。

    希望这会有所帮助 =]

    【讨论】:

    • 成功了。我还将测试临时日志文件。谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-10-01
    • 2017-02-21
    • 1970-01-01
    • 2018-12-24
    • 2015-09-18
    • 2017-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多