Riassunto AI
Quando visualizzi i risultati del sondaggio o stampi il report del sondaggio in WPForms, potresti notare che le domande non appaiono sempre nello stesso ordine in cui si trovano nell'editor del modulo.
Ciò accade perché WPForms utilizza l'ID interno di ogni campo per determinare l'ordine delle domande nel report. Se hai aggiunto, rimosso o riorganizzato campi durante i test, gli ID dei campi potrebbero non corrispondere più all'ordine visivo delle domande nel tuo modulo.
In questo tutorial, ti mostreremo come riordinare le domande del sondaggio in base al loro numero utilizzando un semplice snippet PHP.
Aggiunta dello snippet di codice
Utilizza lo snippet seguente per riordinare le domande nella pagina del report del sondaggio in modo che seguano l'ordine mostrato nell'editor del modulo.
Se hai bisogno di aiuto per aggiungere codice personalizzato, consulta il nostro tutorial su come aggiungere 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 aggiungi questo snippet utilizzando il plugin WPCode o qualsiasi altro metodo, assicurati di impostare la posizione dello snippet su Solo amministrazione. Il codice non funzionerà se la posizione è impostata su altre opzioni.

E questo è tutto! Ora i risultati del tuo sondaggio appariranno nello stesso ordine logico del tuo modulo.