Descrição
O wpforms_process_redirect_url
é ativado na submissão do formulário para carregar o URL necessário para o redireccionamento.
Parâmetros
- $url
- (string) URL para o redireccionamento.
- $form_id
- (int) ID do formulário.
- $form_data
- (matriz) Definições/dados de formulários processados, preparados para serem utilizados 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á utilizado para o redireccionamento quando o formulário for submetido.
Exemplos
Neste exemplo, vamos configurar o formulário para um redireccionamento nas definições do construtor de formulários e, em seguida, com base numa pergunta específica no formulário, redirecionar o utilizador para URLs diferentes com base na resposta.
Se estiver a planear utilizar este snippet, é importante lembrar que no separador Definições, na secção Confirmações, defina o Tipo de confirmação para Ir para URL (Redirecionar). 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 );
A utilização deste snippet significa que qualquer URL que tenha definido no separador Confirmações será ignorado e utilizará este redireccionamento.
Se o utilizador optar por reservar Sala Ao formulário ignorará o URL das definições de redireccionamento 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 ciclo continua através das opções listadas para cada divisão, com uma alternativa no último else
e mantém o URL original das definições do construtor de formulários.