J'essaie de mettre en place un formulaire en plusieurs parties assez long (~ 50 questions, quelques questions par page) avec une logique conditionnelle. J'aimerais offrir aux visiteurs enregistrés la possibilité de sauvegarder leurs données entre chaque page/étape et de leur donner la possibilité de revenir plus tard pour terminer.
J'ai Gravity Forms et j'ai pensé que cela pourrait fonctionner, mais il semblerait que ce ne soit pas une fonctionnalité qu'ils offrent pour le moment.
Quelqu'un a-t-il des conseils/suggestions sur d'autres plugins ou codes de formulaire susceptibles de répondre à ces exigences? Merci d'avance pour toute votre aide!
Si vous travaillez sur un thème personnalisé, je pense qu'il est plus facile de le faire avec un modèle de page et la fonction wp_ajax de WordPress.
Le formulaire peut être inclus dans la page en utilisant <?php get_template_part('form','0f-50-question') ?>
.
Voici le pseudo code pour le formulaire
<form id="quite-a-long-form" action="<?php echo admin_url('admin-ajax.php'); ?>" method="post" class="form" >
$step = $_GET['step']
if $step = 1
//first section of question
echo <label>
echo <input>
echo <label>
echo <input>
else if $step = 2
//second section of question
echo <label>
echo <input>
echo <label>
echo <input>
else if $step = 3
//third section of question
echo <label>
echo <input>
echo <label>
echo <input>
// just repeat for all sections
endif
<input type="Submit">
<?php wp_nonce_field('input-answer','security-code-here'); ?>
<input name="action" value="input-answer" type="hidden">
</form>
Et pour le php qui traitera le fichier
function process_add_transfer() {
if ( empty($_POST) || !wp_verify_nonce('security-code-here','add_transfer') ) {
echo 'You targeted the right function, but sorry, your nonce did not verify.';
die();
} else {
// do your function here
wp_redirect($_POST['_wp_http_referer'].'?step='.$index_of_the_next step);
}
}
J'espère que cette aide