Beschreibung
Die wpforms_process_before
Aktion, die ausgelöst wird, nachdem die Schaltfläche "Submit" eines Formulars angeklickt wurde, aber bevor die Formulardaten validiert oder bereinigt werden.
Parameter
- $Eintrag
- (Array) Ungültige Eingabedaten.
- $form_data
- (Array) Verarbeitete Formulareinstellungen/Daten, die für die spätere Verwendung vorbereitet sind.
Quelle
wpforms/includes/class-process.php
Mehr Informationen
Die Aktion wird fast unmittelbar nach dem Klicken auf die Schaltfläche "Submit" des Formulars ausgelöst, bevor die Validierung des Eintrags erfolgt. Da die Eingabedaten zu diesem Zeitpunkt der Vorverarbeitung noch nicht validiert oder bereinigt wurden, sollte dieser Hook mit Vorsicht verwendet werden.
Die folgenden Ausschnitte zeigen weitere Details zu den Parametern dieses Hooks (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" kennzeichnen, bis sie vollständig verarbeitet sind. Mit einem der späteren Hooks können Sie dann die Markierung "fehlgeschlagen" entfernen und sie mit "abgeschlossen" aktualisieren.
Denken Sie daran, dass dieser Hook vor der Validierung der Daten verwendet wird, also verwenden Sie diesen Hook mit Vorsicht.
Beispiele
Denken Sie nur daran, die Formular-ID von 5
um die spezifische Formular-ID anzupassen, auf der Sie Ihren Code ausführen möchten. Oder entfernen Sie es alle zusammen, wenn Sie dies auf alle Ihre 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 );