Wordpress 正在尝试获取要调试到屏幕的联系人表单7 post数据

Wordpress 正在尝试获取要调试到屏幕的联系人表单7 post数据,wordpress,contact-form-7,Wordpress,Contact Form 7,我一直在尝试获取联系表单7的post数据来调试表单提交,这样我就可以将其用于我正在尝试开发的插件。然而,当我使用var_dump或print_r时,我无法在任何地方获取数据 我从这个开始 add_action( 'wpcf7_before_send_mail', 'my_process_cf7_form_data' ); function my_process_cf7_form_data() { $submission = WPCF7_Submission::get_instance(

我一直在尝试获取联系表单7的post数据来调试表单提交,这样我就可以将其用于我正在尝试开发的插件。然而,当我使用var_dump或print_r时,我无法在任何地方获取数据

我从这个开始

add_action( 'wpcf7_before_send_mail', 'my_process_cf7_form_data' );
function my_process_cf7_form_data() {

    $submission = WPCF7_Submission::get_instance();
        if ( $submission ) {
            $posted_data = $submission->get_posted_data();    
    }
    var_dump($posted_data);
}

但是我没有得到任何输出。

您不能将这些数据转储到屏幕上,因为它是ajax函数的一部分。但是,您可以将其转储到错误日志并在bash中跟踪它,或者使用FTP查看日志的输出

如果您改为这样做:

add_action( 'wpcf7_before_send_mail', 'my_process_cf7_form_data' );
function my_process_cf7_form_data() {

    $submission = WPCF7_Submission::get_instance();
        if ( $submission ) {
            $posted_data = $submission->get_posted_data();    
    }

    ob_start();
    var_dump($posted_data);
    error_log(ob_get_clean());

}
然后查看此域的php_错误日志,或者如果启用了wp debug并将错误记录到文件(在wp config.php中)


然后,您可以在wp content文件夹中查看debug.log。

我通过更改邮件内容并将其发送给自己来进行调试,如下所述:

(我无法让日志工作。)

define( 'WP_DEBUG',         true );
define( 'WP_DEBUG_LOG',     true );
add_action('wpcf7_before_send_mail', 'w2p_on_submit', 10, 3);
function w2p_on_submit( $form, &$abort, $submission )
{
  $debug="1";
  $mail = $form->prop( 'mail' );
  $new_mail = str_replace( '[your-name]', $debug, $mail );
  $form->set_properties( array( 'mail' => $new_mail ) );
  return $form;
}