Descrizione
Il wpforms_process_redirect_url
si attiva all'invio del modulo per caricare l'URL necessario per il reindirizzamento.
Parametri
- $url
- (stringa) URL per il reindirizzamento.
- $form_id
- (int) ID modulo.
- $form_data
- (array) Impostazioni/dati del modulo elaborati, preparati per essere utilizzati in seguito.
- $campi
- (array) Dati di campo sanificati.
- $entry_id
- (int) Id della voce.
Fonte
wpforms/includes/class-process.php
Ulteriori informazioni
Il wpforms_process_redirect_url
che sarà usato per il reindirizzamento dopo l'invio del modulo.
Esempi
In questo esempio, imposteremo il modulo per un reindirizzamento nelle impostazioni del costruttore di moduli e poi, in base a una domanda specifica del modulo, reindirizzeremo l'utente a URL diversi in base alla risposta.
Se si intende utilizzare questo snippet, è importante ricordare che dalla scheda Impostazioni, nella sezione Conferme, si deve impostare il Tipo di conferma su Vai all'URL (reindirizzamento). Per ulteriori informazioni al riguardo, consultare questa documentazione.
/** * 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'utilizzo di questo snippet significa che qualsiasi URL impostato nella scheda Conferme verrà ignorato e utilizzerà invece questo reindirizzamento.
Se l'utente sceglie di prenotare Camera Ail modulo ignorerà l'URL dalle impostazioni di reindirizzamento del costruttore di moduli sul file Conferme e reindirizzare invece a un URL contenente informazioni su Camera A. Il ciclo continua con le opzioni elencate per ogni stanza, con un ripiego nell'ultimo punto. else
e mantiene l'URL originale dalle impostazioni del costruttore di moduli.