首页 > 解决方案 > 提交联系表 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 并创建自定义字段。

任何帮助表示赞赏。

标签: wordpresscontact-form-7

解决方案


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

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

这是一个例子

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

希望这会有所帮助=]


推荐阅读