WP Manifestindependent plugin directory
manifest / builders / divi-quote-builder

Divi Quote Builder

Plugin Divi Quote Builder pour formulaires devis et parcours de soumission. Stack: PHP, JavaScript, CSS.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/probe311/divi-quote-builder/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Plugin WordPress qui ajoute un créateur de devis en ligne compatible Divi : formulaire conditionnel en plusieurs étapes, produits personnalisables (label, visuel, prix) gérés depuis le back-office, et envoi des demandes par email.

Prérequis

  • WordPress 5.0+
  • PHP 7.4+
  • Divi (thème) ou Divi Builder (plugin) actif

Installation

  1. Téléversez le dossier divi-quote-builder dans wp-content/plugins/.
  2. Activez le plugin dans Extensions.
  3. Allez dans Réglages > Produits du devis pour configurer les produits.
  4. Dans le Divi Builder, le module « Formulaire de devis » apparaît dans la liste des modules.

Configuration des produits

Dans Réglages > Produits du devis, vous pouvez :

  • Ajouter des produits : label (obligatoire), description (optionnel), prix, visuel (image), catégorie (optionnel).
  • Réordonner : l’ordre des lignes définit l’ordre d’affichage dans le formulaire.
  • Supprimer : bouton « Supprimer » sur chaque ligne.

Les produits ainsi configurés sont utilisés par le module Divi « Formulaire de devis » sur le front.

Utilisation du module Divi

  1. Éditez une page avec le Divi Visual Builder.
  2. Ajoutez le module « Formulaire de devis » (icône « q » ou recherche « devis »).
  3. Dans les réglages du module :
    • Contenu : titre du formulaire, afficher ou non l’étape « Coordonnées », afficher le champ message.
    • Boutons : libellés des boutons Suivant, Précédent, Envoyer.
    • Messages : texte de succès et d’erreur après envoi.
  4. Utilisez les onglets Design et Avancé pour typographie, couleurs, bordures, etc.

Comportement du formulaire

  • Étape 1 : l’utilisateur coche les produits souhaités ; le total est calculé automatiquement. Un bouton « Suivant » permet d’aller à l’étape 2.
  • Étape 2 (si activée) : champs Nom, Email (obligatoires), Téléphone, Message. Boutons « Précédent » et « Envoyer ma demande ».
  • Envoi : les données sont envoyées en AJAX ; un email récapitulatif est envoyé à l’adresse Réglages > Général > Email de l’administration. Le visiteur voit le message de succès ou d’erreur configuré.

Sécurité

  • Le plugin ne hardcode pas de clés/API tokens : l’envoi d’email utilise wp_mail() (déployé via les réglages WordPress).
  • Ne commitez jamais de fichiers WordPress sensibles (ex: wp-config.php) ni de secrets (.env*).

Structure du projet

divi-quote-builder/
├── divi-quote-builder.php       # Fichier principal, hooks, enqueue
├── includes/
│   ├── loader.php               # Charge les modules Divi (QuoteForm)
│   ├── products-api.php         # divi_quote_builder_get_products()
│   ├── class-admin-products.php # Page Réglages > Produits du devis
│   ├── class-quote-submit.php   # Traitement AJAX + wp_mail
│   └── modules/
│       └── QuoteForm/
│           └── QuoteForm.php    # Module Divi formulaire de devis
├── assets/
│   ├── css/
│   │   ├── front.css            # Styles formulaire front
│   │   ├── admin-products.css   # Styles page produits (admin)
│   │   └── module-list.css      # Styles liste modules Divi (admin)
│   └── js/
│       ├── front.js             # Logique formulaire (étapes, total, AJAX)
│       └── admin-products.js    # Repeater + upload image (admin)
└── README.md

Extensibilité

  • Filtre divi_quote_builder_products : modifie la liste des produits avant affichage (ex. filtrer par catégorie, ajouter des champs).
  • Actions :
    • divi_quote_builder_before_send : avant envoi de l’email (paramètre : tableau des données du formulaire).
    • divi_quote_builder_after_send : après tentative d’envoi (paramètres : données, booléen $sent).

Support Visual Builder

Le module utilise vb_support = 'partial' : il est rendu côté serveur et s’affiche correctement dans le Visual Builder. Une couche React (comme pour certains modules Divi avancés) peut être ajoutée ultérieurement pour un aperçu 100 % temps réel.

Licence

Utilisation libre. Aucune garantie.