Resumo da IA
Descrição
O wpforms_process_redirect_url é acionado no envio do formulário para carregar o URL necessário para o redirecionamento.
Parâmetros
- $url
- (string) URL para o redirecionamento.
- $form_id
- (int) ID do formulário.
- $form_data
- (array) Configurações/dados de formulários processados, preparados para serem usados posteriormente.
- $campos
- (matriz) Dados de campo higienizados.
- $entry_id
- (int) ID da entrada.
Fonte
wpforms/includes/class-process.php
Mais informações
O wpforms_process_redirect_url que será usado para o redirecionamento depois que o formulário for enviado.
Exemplos
Neste exemplo, vamos configurar o formulário para um redirecionamento nas configurações do construtor de formulários e, em seguida, com base em uma pergunta específica no formulário, redirecionar o usuário para URLs diferentes com base na resposta.
Se estiver planejando usar esse snippet, é importante lembrar que, na guia Settings (Configurações), na seção Confirmations (Confirmações ), defina o Confirmation Type (Tipo de confirmação ) como Go to URL (Redirect). Para obter mais informações sobre isso, consulte esta documentação.
/**
* 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 );
O uso desse snippet significa que qualquer URL que você tenha definido na guia Confirmações será ignorado e utilizará esse redirecionamento.
Se o usuário optar por reservar Sala Ao formulário ignorará o URL das configurações de redirecionamento do construtor de formulários no campo Confirmações e, em vez disso, redirecionar para um URL que contenha informações sobre Sala A. O loop continua com as opções listadas para cada cômodo, com um fallback no final else e mantém o URL original das configurações do construtor de formulários.