Sélectionner une page

Snippet CF7 redirection en fontion de la réponse à un champ select

21 Nov 23 | code

Voici un Snippet à ajouter au fichier fonctions.php de votre thème enfant. Ce Snippet permet de rediriger l’utilisateur sur une page différente en fonction de sa réponse à une question posée dans le formulaire de contact CF7 une fois le formulaire soumis et le mail envoyé.

Il est très pratique si vous souhaitez rediriger par exemple vos utilisateurs vers un paiment PayPal différent en fonction de la réponse donnée.

Pour trouver l’ID de votre formulaire de contact CF7 passez votre souris sur le lien vers votre formulaire dans l’administration de votre site > Contact > Formulaires de contact. L’ID dont nous avons besoin ici est composée de chiffre uniquement. Dans notre exemple l’ID est 567. Ne confondez pas avec l’ID du shortcode pour insérer le formulaire dans un post ou une page qui est composé de chiffres et de lettres car celui-ci ne fonctionnera pas.

Changez également les 2 URL de redirection par vos URL.

/**
 * Contact form7 fonction de redirection
 * A ajouter à votre fichier function.php de votre thème enfant
 */
function cf7_redirection() {
?>
<script type="text/javascript" id="cf7-redirection">
document.addEventListener( 'wpcf7mailsent', function( event ) {
  // changer l'ID par votre ID de formulaire de contact
  // ID visible dans le lien vers votre formulaire dans l'adrministration
  // exemple  : https://urlvotresite.fr/wp-admin/admin.php?page=wpcf7&post=567&action=edit
	 if(event.detail.contactFormId == '567') {
		inputs = event.detail.inputs;
		inputs.forEach( function(el) {
    		if ( el.name == 'your_redirect_page' ) {
    			if ( el.value == 'Oui' ) {
    				location.href = 'https://www.lesite.fr/lapage1';
    			} else if (  el.value == 'Non' ) {
    				location.href = 'https://www.lesite.fr/lapage2';
    			}
    		}
		});
    }
}, false );
</script>
<?php
}
add_action( 'wp_footer', 'cf7_redicrection', PHP_INT_MAX  );

Voici un exemple d’utilisation d’un champ select à ajouter directement à votre formulaire CF7. Il doit forcément s’appeler your_redirect_page dans notre exemple, mais vous pouvez modifier le Snippet plus haut pour changer son nom.

Etes vous d'accord ?<span class="asterisk">*</span>
[select* your_redirect_page include_blank "Oui" "Non"]

SI vous avez besoin d’aide afin de personnaliser ce Snippet ou simplement des questions, n’hésitez pas à me contacter, je pratique des prix vraiment compétitifs et je réponds généralement rapidement.

Vous avez des questions à propos de cet article ? Besoin d'aide sur un autre sujet ? Contactez-moi, je pratique des prix vraiment compétitifs et je réponds généralement rapidement