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

Unable to execute script after contact form 7 submit

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

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 将信息 post 写入文件。

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