Resumo da IA
Gostaria de criar um formulário de questionário no WPForms? O WPForms inclui um complemento de questionário que oferece tudo o que você precisa para criar formulários de questionário diretamente no criador de formulários.
Neste tutorial, mostraremos como criar um formulário de questionário usando uma configuração baseada em snippets que calcula e exibe a pontuação do usuário após o envio.
Método recomendado para criar formulários de questionários
O WPForms inclui um complemento dedicado para questionários, que é a maneira mais fácil e completa de criar formulários de questionários.
O complemento Quiz inclui recursos de questionário integrados e oferece a maneira mais fácil de criar e gerenciar formulários de questionário no WPForms.
Para obter detalhes completos sobre o método recomendado, consulte a documentação do nosso complemento Quiz.
Criando o formulário do questionário com um snippet
Se você ainda deseja criar um formulário de questionário com uma configuração personalizada, siga as etapas deste guia e use o trecho de código abaixo.
Vamos começar criando um novo formulário. Em nosso formulário, adicionaremos os campos de formulário Nome e E-mail no início do formulário. Em seguida, usando Page Breaks, dividiremos o questionário em 6 categorias. Em cada quebra de página, teremos o título da página exibindo a categoria em que os participantes do questionário estão no momento.

Para obter ajuda na criação de seu formulário, consulte este guia.
Adicionando perguntas e pontuações do questionário
Para esta documentação, usaremos os campos Multiple Items (Vários itens ) na seção Payment Fields (Campos de pagamento ) no construtor de formulários para fazer a pergunta do questionário e alterar os rótulos, fornecendo 3 respostas para cada pergunta. Para a resposta correta, coloque 1,00 para a resposta correta e 0,00 para as respostas incorretas.

Continue fazendo isso em suas perguntas e categorias. Cada pergunta deve ter uma resposta com 1,00 para a resposta correta e 0,00 para as respostas incorretas. Usaremos o valor para obter um total acumulado para cada resposta correta.
Adicionando um campo total para acompanhar a pontuação
Agora, queremos rastrear o número total de pontos para cada resposta correta. Para isso, na parte inferior do formulário, adicionaremos um campo Total. No entanto, daremos a esse campo uma classe CSS na guia Advanced para que possamos mantê-lo oculto até que o formulário seja enviado.

Depois de salvar o formulário, você deverá adicionar o CSS necessário para ocultar esse campo. Copie esse CSS para seu site. Se precisar de ajuda para descobrir como e onde adicionar CSS personalizado, consulte este tutorial.
.hide-field {display: none;}
Exibindo a pontuação do questionário na mensagem de confirmação
Para mostrar aos participantes do questionário a sua pontuação após o envio, adicione o trecho abaixo ao seu site.
Este trecho lê os valores enviados, obtém o nome e a pontuação do usuário e exibe uma mensagem de confirmação com o resultado final.
Copie e cole esse snippet em seu site. Se precisar de ajuda para saber como e onde adicionar snippets, consulte este útil tutorial.
/**
* Display a custom confirmation message for our pub quiz.
*
* @link https://wpforms.com/developers/how-to-create-a-quiz-form/
*/
function wpf_dev_quiz_custom_confirmation_message( $message, $form_data, $fields, $entry_id ) {
// Only run on my form with ID = 3221
if ( absint( $form_data[ 'id' ] ) !== 3221 ) {
return $message;
}
// Get the name of the person who completed this form
$contact_name = $fields[ '1' ][ 'value' ];
// Get the points from the total field (field ID '7') to remove any decimals and currency symbols
$points_scored = $fields[ '7' ][ 'value' ];
// Remove white space and currency symbol
list($points_scored) = explode('.', $points_scored);
$points_scored = substr($points_scored, 5);
// Add the name and points scored to the message
$message = __('Thanks ' . $contact_name . ' you scored ' . $points_scored . ' out of a possible 35 points', 'plugin-domain');
return $message;
}
add_filter( 'wpforms_frontend_confirmation_message', 'wpf_dev_quiz_custom_confirmation_message', 10, 4 );
Esse snippet será executado somente no formulário ID 3221. Ele pegará o nome do usuário do nosso campo Nome no campo ID 1 para que possa ser exibido em nossa mensagem de confirmação personalizada. Em seguida, esse snippet pegará o valor do campo Total do formulário, que é o campo ID 7, removerá o símbolo de moeda e o espaço em branco e converterá o que restar em um número inteiro para que não haja um ponto decimal ou zeros.
Você precisará atualizar cada um desses IDs para que correspondam aos seus próprios IDs de formulário e campo. Para encontrar seus próprios números de ID, consulte esta documentação.
Agora, quando os usuários chegarem ao final do questionário, eles clicarão em Enviar e poderão ver imediatamente quantas respostas acertaram.
E é isso! Você gostaria que o formulário fosse enviado automaticamente com base no valor de um dos campos do formulário? Confira nosso tutorial sobre Como enviar automaticamente um formulário com uma opção de campo.