Resumo da IA
Quando visualiza os resultados do questionário ou imprime o relatório do questionário no WPForms, pode notar que as perguntas nem sempre aparecem na mesma ordem em que aparecem no construtor de formulários.
Isso acontece porque o WPForms usa o ID de campo interno de cada campo para determinar a ordem das perguntas no relatório. Se você adicionou, removeu ou reorganizou campos durante o teste, os IDs de campo podem não corresponder mais à ordem visual das perguntas no seu formulário.
Neste tutorial, mostraremos como reordenar as questões do questionário pelo número da questão usando um simples snippet PHP.
Adicionar o snippet de código
Use o snippet abaixo para reordenar as questões na página Imprimir relatório de questionário para que elas sigam a ordem mostrada no criador de formulários.
Se precisar de ajuda para adicionar código personalizado, consulte o nosso tutorial sobre como adicionar trechos de código.
/**
* Reorder WPForms Survey Questions on the Print Survey Report page.
*/
function wpforms_reorder_survey_print_report() {
// Check if we're on the Print Survey Report page.
if ( isset( $_GET['page'], $_GET['view'], $_GET['print'] ) && 'wpforms-entries' === $_GET['page'] && 'survey' === $_GET['view'] && '1' === $_GET['print'] ) {
?>
<script>
(function($) {
$(document).ready(function() {
// Function to perform the reordering.
function performReordering() {
var $container = $('#wpforms-survey-report');
if (!$container.length) return;
var $questions = $container.find('.question');
if (!$questions.length) return;
var questionsArray = [];
$questions.each(function(index) {
var $q = $(this);
var questionNumber = 9999; // Default high value
var $qNum = $q.find('.q-num');
if ($qNum.length) {
var qNumText = $qNum.text();
var match = qNumText.match(/Question\s+(\d+)/i);
if (match && match[1]) {
questionNumber = parseInt(match[1], 10);
}
}
questionsArray.push({
element: $q,
number: questionNumber,
originalIndex: index
});
});
questionsArray.sort(function(a, b) {
return a.number - b.number || a.originalIndex - b.originalIndex;
});
$questions.detach();
$.each(questionsArray, function(index, item) {
item.element.find('.q-num').text('Question ' + (index + 1));
$container.append(item.element);
});
}
performReordering();
});
})(jQuery);
</script>
<?php
}
}
add_action( 'admin_print_footer_scripts', 'wpforms_reorder_survey_print_report' );
Ao adicionar este snippet utilizando o plugin WPCode ou qualquer outro método, certifique-se de que define a Localização do snippet como Apenas para administradores. O código não funcionará se a localização estiver definida para qualquer outra opção.

E pronto! Agora, os resultados do seu questionário aparecerão na mesma ordem lógica do seu formulário.