【问题标题】: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 更改为您需要的任何内容。
希望这会有所帮助 =]