Versuch, Kontaktformular 7-Postdaten zum Debuggen auf den Bildschirm zu bekommen

Lesezeit: 2 Minuten

Ich habe versucht, Postdaten des Kontaktformulars 7 zu erhalten, um die Formularübermittlung zu debuggen, damit ich sie für ein Plugin verwenden kann, an dem ich arbeiten möchte. Wenn ich jedoch var_dump oder print_r verwende, kann ich die Daten nirgendwo abrufen.

Ich habe damit angefangen.

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);
}

Aber ich bekomme keine Ausgabe.

Sie können diese Daten nicht einfach auf dem Bildschirm ausgeben, da sie Teil einer Ajax-Funktion sind. Sie können es jedoch in das Fehlerprotokoll ausgeben und es in Bash anhängen oder die Ausgabe des Protokolls mit FTP anzeigen.

Wenn Sie stattdessen Folgendes tun:

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());

}

Zeigen Sie dann entweder Ihr php_error_log für diese Domain an oder wenn Sie wp-debug aktiviert haben und die Fehlerprotokollierung in einer Datei (in Ihrer wp-config.php) speichern.

define( 'WP_DEBUG',         true );
define( 'WP_DEBUG_LOG',     true );

dann kannst du das debug.log im Ordner wp-content ansehen.

Ich habe das Debuggen geschafft, indem ich den Inhalt der E-Mail geändert und an mich selbst gesendet habe, wie hier beschrieben: Wie ändere ich Daten vor dem Senden in Kontaktformular 7?

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;
}

(Ich konnte das Protokoll nicht zum Laufen bringen.)

962900cookie-checkVersuch, Kontaktformular 7-Postdaten zum Debuggen auf den Bildschirm zu bekommen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy