Descripción
En wpforms_process_redirect_url
se activa al enviar el formulario para cargar la URL necesaria para la redirección.
Parámetros
- $url
- (cadena) URL para la redirección.
- $form_id
- (int) ID del formulario.
- $form_data
- (array) Ajustes/datos del formulario procesados, preparados para su uso posterior.
- $campos
- (array) Datos de campo saneados.
- $entry_id
- (int) Id. de entrada.
Fuente
wpforms/includes/class-process.php
Más información
En wpforms_process_redirect_url
que se utilizará para la redirección una vez que se envíe el formulario.
Ejemplos
En este ejemplo, vamos a configurar el formulario para una redirección en la configuración del constructor de formularios, a continuación, sobre la base de una pregunta específica en el formulario, redirigir al usuario a diferentes URL en función de la respuesta.
Si está pensando en utilizar este fragmento, es importante que recuerde que desde la pestaña Configuración, en la sección Confirmaciones, establezca el Tipo de confirmación en Ir a URL (Redirigir). Para más información al respecto, consulte esta documentación.
/** * 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 );
El uso de este fragmento significa que cualquier URL que haya establecido en la pestaña Confirmaciones se ignorará y utilizará esta redirección en su lugar.
Si el usuario selecciona reservar Sala Ael formulario ignorará la URL de la configuración de redirección del constructor de formularios en el campo Confirmaciones y en su lugar redirigir a una URL que contenga información sobre Sala A. El bucle continúa a través de las opciones enumeradas para cada habitación con un fallback en la final else
y mantiene la URL original de la configuración del constructor de formularios.