提交 Contact Form 7 后访问表单数据

Access form data after submitting Contact Form 7

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

目前我发现的是:

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

将上述操作添加到 functions.php 后,表单操作从未完成。我想查看数据,找到 postID 并创建自定义字段。

感谢任何帮助。

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 函数。 这是一个片段:

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 更改为您需要的内容。

希望这对您有所帮助 =]