Beschreibung
Die wpforms_process_redirect_url
Filter wird beim Absenden des Formulars ausgelöst, um die für die Umleitung benötigte URL zu laden.
Parameter
- $url
- (string) URL für die Umleitung.
- $form_id
- (int) Formular-ID.
- $form_data
- (Array) Verarbeitete Formulareinstellungen/Daten, die für die spätere Verwendung vorbereitet sind.
- $Felder
- (Array) Bereinigte Felddaten.
- $Eintrag_id
- (int) Eintragsnummer.
Quelle
wpforms/includes/class-process.php
Mehr Informationen
Die wpforms_process_redirect_url
Filter, der für die Umleitung nach dem Absenden des Formulars verwendet werden soll.
Beispiele
In diesem Beispiel werden wir das Formular für eine Weiterleitung in den Einstellungen des Formularerstellers einrichten und den Benutzer dann auf der Grundlage einer bestimmten Frage im Formular zu verschiedenen URLs umleiten, die auf der Antwort basieren.
Wenn Sie dieses Snippet verwenden möchten, müssen Sie auf der Registerkarte " Einstellungen" unter dem Abschnitt " Bestätigungen" den Bestätigungstyp auf "Gehe zu URL (Umleitung)" einstellen. Weitere Informationen hierzu finden Sie in dieser Dokumentation.
/** * Redirect URL. * * @link https://wpforms.com/developers/wpforms_process_redirect_url/ * * @param string $url URL to redirect to. * @param int $form_id The form ID. * @param array $form_data Processed form settings/data. * @param array $fields Sanitized fields data. * @param int $entry_id Entry id. * * @return string */ function wpf_dev_process_redirect_url( $url, $form_id, $fields, $form_data, $entry_id ) { // Only run on my form with ID = 879. if ( absint( $form_data[ 'id' ] ) !== 879 ) { return $fields; } // Assign the checkbox field that shows the room number to a variable $room_number = $fields[4][ 'value' ]; if ($room_number === "Room A") { // Redirect to page with Room A information $url = 'http://myexamplesite.com/room-a-info'; } elseif ($room_number === "Room B") { // Redirect to page with Room B information $url = 'http://myexamplesite.com/room-b-info'; } elseif ($room_number === "Room C") { // Redirect to page with Room C information $url = 'http://myexamplesite.com/room-c-info'; } else { // Keep the current redirect URL that is set in the form builder settings $url = $url; } return $url; } add_filter( 'wpforms_process_redirect_url', 'wpf_dev_process_redirect_url', 10, 5 );
Die Verwendung dieses Snippets bedeutet, dass alle URLs, die Sie auf der Registerkarte " Bestätigungen" festgelegt haben, ignoriert werden und stattdessen diese Umleitung verwendet wird.
Wenn der Benutzer die Reservierung auswählt Raum Aeingeben, ignoriert das Formular die URL aus den Umleitungseinstellungen des Formularerstellers auf der Seite Bestätigungen und leiten Sie stattdessen zu einer URL um, die Informationen über Raum A. Die Schleife setzt sich durch die für jeden Raum aufgelisteten Optionen fort, mit einem Fallback in der letzten else
und behält die ursprüngliche URL aus den Einstellungen des Formularerstellers bei.