php - 联系表单 7 提交后无法执行脚本

标签 php wordpress contact-form-7

当我执行这段代码时,它什么也没做,只是在联系表单下方出现一个旋转图标,它会一直旋转。

add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' );

function process_contact_form_data( $contact_data ){
    var_dump($contact_data->posted_data);
    $name = $contact_data->posted_data["your-name"];
    $email = $contact_data->posted_data["your-email"];

    echo $name ;
    echo $email;                
}

最佳答案

您不能回显 wpcf7_before_send_mail 的输出,因为没有地方可以回显它。表单流程全是ajax。

然而,您可以将其输出到 error_log 或文件中。这是将表单数据输出到error_log的例子。

add_action('wpcf7_before_send_mail', 'output_cf7_form_data');
function output_cf7_form_data(){
    // Call the form data from the static instance of the class
    $submission = WPCF7_Submission::get_instance();

    if ( $submission ) {
        // assign the posted data to an array
        $posted_data = $submission->get_posted_data();
        $name = $posted_data["your-name"];
    }
    // Use Output Buffering to print_r form data to the error log
    ob_start();
    print_r($posted_data);
    echo 'Posted Name is ' . $name;
    $body = ob_get_clean();
    error_log($body);
}

如果您愿意,可以更改将错误日志放入错误日志的部分,并使用 fwrite 将信息发布到文件中。

如果你想看这个Contact Form 7 to Constant Contact API方法我曾经使用常量联系API,你可以看到我如何在发送邮件之前使用来捕获表单数据,但是在wpcf7_mail_sent完成后推送到API,这样表单提交就不会等待 API 调用完成,并且在 API 调用发生时用户看不到小的 ajax 微调器。

关于php - 联系表单 7 提交后无法执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60125693/

相关文章:

database - 将联系表格 7 数据保存到自定义数据库而不是 wordpress 数据库中

php - mysql 使用时间戳选择日期

php - 更改表格中显示的结果

php - 如何将 PHP in_array 与关联数组一起使用?

xml - 基于上述元素的 XPath 选择器

php - 如何在 wordpress divi 主题帖子或页面中添加 php 代码

javascript - 'click' 上的事件不适用于链接图像

php - 如何在WordPress的wp-db文件中设置mysql_query ('set Names utf8')

php - Woocommerce 如何摆脱商店页面上的订单查询

php - 如何将 Contact Form 7 字段添加到我的自定义 HTML 代码中,如下面的屏幕截图所示?