Riepilogo AI
Quando si visualizzano i risultati del sondaggio o si stampa il rapporto del sondaggio in WPForms, si può notare che le domande non appaiono sempre nello stesso ordine in cui appaiono nel costruttore del modulo.
Questo accade perché WPForms usa l'ID interno di ogni campo per determinare l'ordine delle domande nel report. Se durante il test sono stati aggiunti, rimossi o riorganizzati dei campi, gli ID dei campi potrebbero non corrispondere più all'ordine visivo delle domande nel modulo.
In questa guida, vi mostreremo come riordinare le domande dell'indagine in base al loro numero di domanda, utilizzando un semplice snippet PHP.
Aggiunta dello snippet di codice
Utilizzate lo snippet qui sotto per riordinare le domande nella pagina Stampa rapporto di indagine in modo che seguano l'ordine mostrato nel vostro costruttore di moduli.
Se avete bisogno di aiuto per aggiungere codice personalizzato, consultate il nostro tutorial sull'aggiunta di snippet di codice.
/**
* 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' );
Quando si aggiunge questo snippet usando il plugin WPCode o qualsiasi altro metodo, assicurarsi di impostare la posizione dello snippet su Admin Only. Il codice non funzionerà se la posizione è impostata su qualsiasi altra opzione.

Ed ecco fatto! Ora i risultati del sondaggio appariranno nello stesso ordine logico del modulo.