Resumen de IA
Cuando ves los resultados de tu encuesta o el informe de encuesta impreso en WPForms, es posible que notes que las preguntas no siempre aparecen en el mismo orden que en el constructor de formularios.
Esto sucede porque WPForms utiliza el ID interno de cada campo para determinar el orden de las preguntas en el informe. Si agregaste, eliminaste o reorganizaste campos durante las pruebas, los IDs de los campos ya no coincidirán con el orden visual de las preguntas en tu formulario.
En este tutorial, te mostraremos cómo reordenar las preguntas de la encuesta por su número utilizando un sencillo fragmento de PHP.
Añadir el fragmento de código
Utiliza el fragmento siguiente para reordenar las preguntas en la página del informe de encuesta impreso, de modo que sigan el orden que se muestra en tu constructor de formularios.
Si necesitas ayuda para agregar código personalizado, consulta nuestro tutorial sobre cómo agregar fragmentos 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' );
Al agregar este fragmento usando el plugin WPCode o cualquier otro método, asegúrate de establecer la Ubicación del fragmento en Solo administrador. El código no funcionará si la ubicación se establece en alguna otra opción.

¡Y eso es todo! Ahora los resultados de tu encuesta aparecerán en el mismo orden lógico que tu formulario.