Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Beschreibung

Die wpforms_process_before Aktion, die ausgelöst wird, nachdem auf die Schaltfläche zum Absenden eines Formulars geklickt wurde, aber bevor die Formulardaten validiert oder bereinigt werden.

Parameter

$entry
(array) Nicht validierte Eingabedaten.
$form_data
(array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.

Quelle

wpforms/includes/class-process.php

Weitere Informationen

Die Aktion wird fast unmittelbar nach dem Klicken auf die Schaltfläche zum Absenden des Formulars ausgelöst, bevor die Eingabe validiert wird. Da die Eingabedaten zu diesem Zeitpunkt der Vorverarbeitung noch nicht validiert oder bereinigt wurden, sollte dieser Hook mit Vorsicht verwendet werden.

Die folgenden Snippets zeigen weitere Details zu den Parametern, die in diesem Hook enthalten sind (die jeweils eine zusätzliche Filteroption enthalten).

$entry = apply_filters( 'wpforms_process_before_filter', $entry, $form_data );

$form_data = apply_filters( 'wpforms_process_before_form_data', wpforms_decode( $form->post_content ), $entry );

Vielleicht möchten Sie alle Formulareinträge in einem CRM speichern und sie als „fehlgeschlagen“ markieren, bis sie vollständig verarbeitet sind. Dann könnten Sie mit einem der späteren Hooks diese „fehlgeschlagen“-Markierung entfernen und sie durch „abgeschlossen“ ersetzen.

Denken Sie daran, dass dieser Hook vor der Datenvalidierung verwendet wird, also verwenden Sie diesen Hook mit Vorsicht.

Beispiele

Denken Sie daran, die Formular-ID von 5 zu ändern, um die spezifische Formular-ID anzugeben, auf der Sie Ihren Code ausführen möchten. Oder entfernen Sie sie ganz, wenn Sie dies auf allen Ihren WPForms ausführen möchten.

/**
 * This action fires almost immediately after the form’s submit button is clicked, before validation takes place for the entry.
 *
 * @link  https://wpforms.com/developers/wpforms_process_before/
 *
 * @param array  $entry     Unvalidated entry data.
 * @param array  $form_data Form data and settings.
 */

function wpf_dev_process_before( $entry, $form_data ) {

	// Only run on my form with ID = 5
	if ( absint( $form_data[ 'id' ] ) !== 5 ) {
        return;
    } 

	// place your custom code here
}
add_action( 'wpforms_process_before', 'wpf_dev_process_before', 10, 2 );