KI-Zusammenfassung
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 );