Résumé IA
Lorsque vous consultez vos résultats d'enquête ou imprimez le rapport d'enquête dans WPForms, vous remarquerez peut-être que les questions n'apparaissent pas toujours dans le même ordre que dans le générateur de formulaires.
Cela se produit parce que WPForms utilise l'ID interne de chaque champ pour déterminer l'ordre des questions dans le rapport. Si vous avez ajouté, supprimé ou réorganisé des champs pendant les tests, les ID de champ peuvent ne plus correspondre à l'ordre visuel des questions de votre formulaire.
Dans ce tutoriel, nous vous montrerons comment réorganiser les questions de l'enquête par leur numéro de question à l'aide d'un simple extrait de code PHP.
Ajout de l’extrait de code
Utilisez l'extrait de code ci-dessous pour réorganiser les questions sur la page d'impression du rapport d'enquête afin qu'elles suivent l'ordre affiché dans votre générateur de formulaires.
Si vous avez besoin d'aide pour ajouter du code personnalisé, veuillez consulter notre tutoriel sur l'ajout d'extraits de code.
/**
* 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' );
Lors de l'ajout de cet extrait de code à l'aide du plugin WPCode ou de toute autre méthode, assurez-vous de définir l'emplacement de l'extrait sur Admin uniquement. Le code ne fonctionnera pas si l'emplacement est défini sur d'autres options.

Et voilà ! Vos résultats d'enquête apparaîtront désormais dans le même ordre logique que votre formulaire.