En tant que développeur WordPress, je me suis souvent retrouvé face à ce problème récurrent : comment créer des formulaires de contact intelligents qui s'adaptent aux réponses de l'utilisateur ? Contact Form 7 est fantastique pour sa simplicité, mais dès qu'il s'agit d'ajouter de la logique conditionnelle, c'est le parcours du combattant.
J'ai testé de nombreuses solutions : syntaxe complexe à retenir, plugins premium aux prix prohibitifs, interfaces contre-intuitives... Rien ne me satisfaisait vraiment. C'est pourquoi j'ai décidé de développer Simple Conditional Fields for Contact Form 7.
Cette extension gratuite et open source révolutionne l'approche des champs conditionnels en proposant une interface 100% visuelle, sans une ligne de code à écrire.
Laissez-moi vous raconter mon quotidien de développeur. Quand un client me demande : "On peut faire en sorte que certains champs n'apparaissent que si l'utilisateur sélectionne telle option ?", ma première réaction était souvent un soupir.
Pourquoi ? Parce que les solutions existantes me demandaient soit :
Aucune ne proposait ce qui me semblait évident : une interface visuelle simple où on clique, on glisse, et ça fonctionne.
J'ai complètement repensé la création de règles conditionnelles. Plus besoin de mémoriser une syntaxe propriétaire ou de jongler avec des crochets et des guillemets. Une interface sidebar moderne où tout se configure par drag & drop et sélection dans des menus déroulants.
Voici ce qui m'a pris le plus de temps à implémenter : pendant que vous éditez votre formulaire CF7, le plugin scanne automatiquement le contenu et détecte les nouveaux champs et groupes. Instantanément. Sans rechargement de page. C'est ce qu'on attend d'un outil moderne, non ?
J'ai développé un générateur de balises [group]
amélioré qui s'intègre parfaitement à l'éditeur CF7. Plutôt que de jouer avec des champs individuels, vous organisez des sections logiques et les affichez/masquez par bloc.
Ayant travaillé sur de nombreux projets clients, je sais à quel point la sécurité et les performances sont critiques. Le plugin implémente :
Voici quelques exemples tirés de projets clients où j'ai pu tester la solution :
[select contact-preference "Comment souhaitez-vous être contacté ?" "email|Email" "phone|Téléphone" "both|Les deux"]
[group email-fields]
[email your-email "Votre adresse email"]
[select best-time-email "Meilleur moment pour vous écrire" "morning|Matin" "afternoon|Après-midi" "evening|Soir"]
[/group]
[group phone-fields]
[tel your-phone "Votre numéro de téléphone"]
[select best-time-call "Meilleur moment pour vous appeler" "morning|Matin" "afternoon|Après-midi" "evening|Soir"]
[/group]
Règles Conditionnelles :
[select service-type "Quel service vous intéresse ?" "web-design|Création de site web" "maintenance|Maintenance de site" "consulting|Consulting"]
[group web-design-details]
[checkbox design-features "Quelles fonctionnalités avez-vous besoin ?" "responsive|Design Responsive" "ecommerce|E-commerce" "blog|Blog" "multilingual|Multi-langues"]
[number pages "Nombre approximatif de pages"]
[/group]
[group maintenance-details]
[url current-website "URL de votre site actuel"]
[select maintenance-frequency "Fréquence de maintenance" "monthly|Mensuelle" "quarterly|Trimestrielle" "as-needed|À la demande"]
[/group]
[group consulting-details]
[select consultation-type "Type de consultation" "seo|Audit SEO" "performance|Revue Performance" "security|Évaluation Sécurité"]
[textarea current-challenges "Quels sont vos défis actuels ?"]
[/group]
Cela crée une expérience utilisateur propre et ciblée où les visiteurs ne voient que les champs pertinents selon leur sélection de service.
[select ticket-type "Type de billet" "standard|Billet Standard (50€)" "vip|Billet VIP (120€)" "student|Billet Étudiant (25€)"]
[number quantity "Nombre de billets" min:1 max:10]
[group vip-extras]
[checkbox vip-services "Services VIP" "meet-greet|Rencontre & Salutation" "premium-seating|Places Premium" "welcome-drink|Verre de Bienvenue"]
[/group]
[group student-verification]
[text student-id "Numéro d'étudiant"]
[file student-card "Télécharger la carte étudiante"]
[/group]
[group dietary-requirements]
[textarea dietary-info "Régimes alimentaires particuliers ou allergies ?"]
[/group]
Règles Conditionnelles Intelligentes :
Le plugin supporte un ensemble complet d'opérateurs pour une flexibilité maximale :
Correspondance exacte
Ne correspond pas
Texte spécifique inclus
Texte non inclus
Aucune valeur
Contient une valeur
Comparaison numérique
Comparaison numérique
"J'utilise Contact Form 7 depuis des années sur tous mes projets WordPress. C'est robuste, fiable, mais dès qu'il fallait ajouter de la logique conditionnelle, je me retrouvais à devoir expliquer à mes clients des syntaxes obscures ou à débourser pour des solutions premium.
Simple Conditional Fields a révolutionné mon approche. En 5 minutes, je peux maintenant créer des formulaires complexes avec des champs qui apparaissent/disparaissent selon les choix utilisateur. L'interface est tellement intuitive que même mes clients peuvent maintenant modifier leurs formulaires en autonomie.
Ce qui m'a vraiment convaincu, c'est la qualité technique. Le code respecte les standards WordPress, la sécurité est native, les performances sont optimisées. C'est du travail de professionnel, pas du bricolage.
Et le fait que ce soit open source et gratuit change tout pour une agence comme la nôtre. On peut l'utiliser sur tous nos projets sans se soucier de licences ou d'abonnements récurrents."
— Marie Dubois, Lead Developer chez WebSolutions Lyon
Le plugin suit les standards de codage WordPress et les bonnes pratiques :
// Exemple de notre gestion sécurisée des données
private function sanitize_condition($condition)
{
if (!is_array($condition)) {
return [];
}
return [
'show_field' => sanitize_text_field($condition['show_field'] ?? ''),
'if_field' => sanitize_text_field($condition['if_field'] ?? ''),
'operator' => sanitize_key($condition['operator'] ?? 'equals'),
'if_value' => sanitize_text_field($condition['if_value'] ?? '')
];
}
Le cache intelligent garantit que votre site reste rapide :
// Cache intelligent avec invalidation automatique
$cache_key = 'scf7c_forms_with_conditions';
$forms_with_conditions = wp_cache_get($cache_key, 'scf7c');
if (false === $forms_with_conditions) {
$forms_with_conditions = get_posts([...]);
wp_cache_set($cache_key, $forms_with_conditions, 'scf7c', HOUR_IN_SECONDS);
}
1
Installez depuis WordPress.org ou téléchargez manuellement
2
Assurez-vous que Contact Form 7 est actif
3
Création des groupes
Utilisez le générateur de balises group
4
Configuration visuelle
Allez dans l'onglet "Simple Conditional Fields"
5
Règles conditionnelles
Créez vos règles avec l'interface visuelle
6
Sauvegardez et testez votre formulaire
Simple Conditional Fields for Contact Form 7 est complètement gratuit et open source. Nous croyons que les outils puissants ne devraient pas être verrouillés derrière des paywalls.
Nous accueillons les contributions de la communauté :
Trouvez le code source complet, signalez des problèmes et contribuez au projet :
Le dépôt inclut :
Nous développons activement de nouvelles fonctionnalités basées sur les retours de la communauté :
Prêt à transformer votre expérience Contact Form 7 ?
Retrouvez ci-dessous quelques articles qui pourraient vous intéresser.