Description
Le wpforms_process_redirect_url
se déclenche lors de l'envoi du formulaire pour charger l'URL nécessaire à la redirection.
Paramètres
- $url
- (chaîne) URL de la redirection.
- $form_id
- (int) ID du formulaire.
- $form_data
- (tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.
- $fields
- (tableau) Données de terrain assainies.
- $entry_id
- (int) Identifiant de l'entrée.
Source
wpforms/includes/class-process.php
Plus d'informations
Le wpforms_process_redirect_url
qui sera utilisé pour la redirection une fois le formulaire soumis.
Exemples
Dans cet exemple, nous allons configurer le formulaire pour une redirection dans les paramètres du constructeur de formulaires, puis, en fonction d'une question spécifique du formulaire, rediriger l'utilisateur vers différentes URL en fonction de la réponse.
Si vous envisagez d'utiliser ce snippet, il est important de rappeler que dans l'onglet Paramètres, sous la section Confirmations, vous devez définir le Type de confirmation sur Aller à l'URL (Redirection). Pour plus d'informations à ce sujet, veuillez consulter cette documentation.
/** * 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 );
L'utilisation de ce snippet signifie que toute URL que vous avez définie dans l'onglet Confirmations sera ignorée et utilisera cette redirection à la place.
Si l'utilisateur choisit de réserver Salle Ale formulaire ignorera l'URL provenant des paramètres de redirection du constructeur de formulaires dans la section Confirmations et redirige plutôt vers une URL contenant des informations sur l'onglet Salle A. La boucle se poursuit avec les options énumérées pour chaque pièce, avec une solution de repli dans la dernière étape. else
et conserve l'URL d'origine des paramètres du constructeur de formulaires.