WooCommerce Client ID Checkout
Ajoute un champ obligatoire "ID Client" au checkout WooCommerce pour les produits de renouvellement, avec gestion des produits incompatibles et contrôles de quantité personnalisés.
by Khadija Har · github.com/khadijahr/woocommerce-client-id-checkout · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/khadijahr/woocommerce-client-id-checkout/archive/refs/heads/main.zipVersion : 1.0.8
Auteur : Khadija Har
Licence : GPL v3 ou ultérieure
📋 Description
WooCommerce Client ID Checkout est une extension WordPress/WooCommerce qui enrichit le processus de commande avec un champ personnalisé "ID Client". Ce plugin est spécialement conçu pour gérer les produits de type renouvellement et offre une expérience de checkout améliorée avec des contrôles de quantité directement sur la page de commande.
Le plugin ajoute automatiquement un champ obligatoire "ID Client" au checkout WooCommerce pour les produits de renouvellement, avec gestion des produits incompatibles et contrôles de quantité personnalisés.
✨ Fonctionnalités principales
- ✅ Champ ID Client conditionnel : Ajout automatique d'un champ obligatoire "ID Client" au checkout lorsque le produit
7901est présent dans le panier - ✅ Validation robuste : Vérification obligatoire du champ avant la finalisation de la commande
- ✅ Stockage des données : Enregistrement sécurisé de l'ID Client dans les métadonnées de la commande
- ✅ Affichage admin : Visualisation de l'ID Client dans l'interface d'administration WooCommerce
- ✅ Gestion des incompatibilités : Prévention automatique de l'ajout simultané des produits
5265et7901 - ✅ Contrôles de quantité : Boutons personnalisés (+ / - / Supprimer) directement sur la page de checkout pour une gestion intuitive du panier
📦 Prérequis
- WordPress : Version 6.2 ou supérieure
- PHP : Version 7.0 ou supérieure
- WooCommerce : Installé et activé
🚀 Installation
Méthode 1 : Installation manuelle
- Téléchargez ou clonez le plugin dans votre dossier
wp-content/plugins/ - Assurez-vous que le dossier s'appelle
num-id-checkout(ou le nom de votre choix) - Connectez-vous à votre administration WordPress
- Allez dans Extensions → WooCommerce Client ID Checkout → Activer
Méthode 2 : Installation via FTP
- Uploadez le dossier du plugin dans
/wp-content/plugins/ - Activez le plugin depuis l'administration WordPress : Extensions → WooCommerce Client ID Checkout → Activer
⚙️ Configuration
Aucune configuration n'est requise. Le plugin fonctionne immédiatement après activation.
Note importante : Les IDs de produits (7901 et 5265) sont codés en dur dans le plugin. Pour modifier ces valeurs, vous devrez éditer le fichier Woo-client-id-checkout.php :
- Ligne 23 : ID du produit qui nécessite l'ID Client (
7901) - Ligne 41 : ID du produit qui nécessite l'ID Client (
7901) - Ligne 89 : ID du premier produit incompatible (
5265) - Ligne 90 : ID du second produit incompatible (
7901)
📖 Utilisation
1. Champ ID Client
Le champ "ID Client" apparaît automatiquement sur la page de checkout lorsque le produit avec l'ID 7901 est présent dans le panier.
Comportement :
- Le champ est obligatoire : la commande ne peut pas être finalisée sans remplir ce champ
- Un message d'erreur s'affiche si l'utilisateur tente de valider la commande sans remplir le champ
- La valeur saisie est sauvegardée avec la commande et visible dans l'administration
- Le champ utilise un placeholder : "Entrer votre ID Client"
Exemple de message d'erreur :
"Le champ 'ID Client' est requis pour le produit sélectionné."
2. Gestion des produits incompatibles
Le plugin empêche l'ajout simultané des produits 5265 et 7901 dans le panier.
Comportement :
- Si les deux produits sont présents simultanément, ils sont automatiquement retirés du panier
- Une notification d'information est affichée à l'utilisateur :
"Un produit a été retiré car l'autre est déjà dans le panier."
- Cette vérification se fait automatiquement lors du calcul des totaux du panier
3. Contrôles de quantité au checkout
Sur la page de checkout, chaque produit affiche des contrôles personnalisés pour gérer les quantités :
- Bouton – : Réduit la quantité de 1 (supprime automatiquement le produit si la quantité atteint 0)
- Compteur : Affiche la quantité actuelle du produit
- Bouton + : Augmente la quantité de 1
- Bouton Supprimer : Retire complètement le produit du panier
Note : Les modifications sont appliquées immédiatement avec redirection vers la page de checkout pour éviter les doublons.
🖥️ Exemples d'affichage
Page de Checkout (avec produit 7901)
┌─────────────────────────────────────────┐
│ Votre commande │
├─────────────────────────────────────────┤
│ Nom du produit │
│ [ – ] 1 [ + ] [ Supprimer ] │
│ │
│ ─────────────────────────────────── │
│ │
│ ID Client * │
│ [Entrer votre ID Client] │
│ [___________________________] │
│ │
└─────────────────────────────────────────┘
Administration WooCommerce (Détails de commande)
┌─────────────────────────────────────────┐
│ Détails de la commande │
├─────────────────────────────────────────┤
│ Facturation │
│ Nom du client │
│ Adresse │
│ ... │
│ │
│ ID Client: 123456 │
└─────────────────────────────────────────┘
🔧 Hooks & Actions WordPress/WooCommerce
Le plugin utilise les hooks suivants pour intégrer ses fonctionnalités :
| Hook | Fonction | Description |
|---|---|---|
woocommerce_checkout_process |
valider_champ_num_id_checkout() |
Valide que le champ ID Client est rempli avant la finalisation |
woocommerce_before_checkout_billing_form |
ajouter_champ_num_id_checkout() |
Affiche le champ ID Client sur le checkout (conditionnel) |
woocommerce_checkout_update_order_meta |
enregistrer_champ_num_id_checkout() |
Sauvegarde l'ID Client dans les métadonnées de la commande |
woocommerce_admin_order_data_after_billing_address |
afficher_champ_num_id_admin_order_meta() |
Affiche l'ID Client dans l'administration WooCommerce |
woocommerce_before_calculate_totals |
custom_check_cart_products() |
Vérifie et gère les produits incompatibles dans le panier |
woocommerce_review_order_before_cart_contents |
custom_checkout_quantity_buttons() |
Ajoute les boutons de contrôle de quantité sur le checkout |
template_redirect |
custom_checkout_update_cart_quantities() |
Gère les actions sur les quantités (augmenter/diminuer) et suppressions |
🐛 Dépannage
Le champ ID Client n'apparaît pas
- ✅ Vérifiez que le produit avec l'ID
7901est bien présent dans le panier - ✅ Assurez-vous que WooCommerce est activé et fonctionne correctement
- ✅ Videz le cache de votre site si vous utilisez un plugin de cache (WP Super Cache, W3 Total Cache, etc.)
- ✅ Vérifiez que le thème WordPress n'interfère pas avec les hooks WooCommerce
Les boutons de quantité ne fonctionnent pas
- ✅ Vérifiez que JavaScript est activé dans votre navigateur
- ✅ Assurez-vous que le thème WordPress n'interfère pas avec les styles du plugin
- ✅ Consultez la console du navigateur (F12) pour détecter d'éventuelles erreurs JavaScript
- ✅ Vérifiez que les URLs de redirection sont correctes
Les produits incompatibles ne sont pas retirés
- ✅ Vérifiez que les IDs de produits (
5265et7901) sont corrects dans le code - ✅ Assurez-vous que le hook
woocommerce_before_calculate_totalsn'est pas désactivé par un autre plugin - ✅ Vérifiez que le panier n'est pas vide et que les produits sont bien ajoutés
L'ID Client n'est pas sauvegardé
- ✅ Vérifiez que le champ est bien rempli avant la validation de la commande
- ✅ Consultez les métadonnées de la commande dans l'administration (clé :
_num_id) - ✅ Vérifiez les permissions de la base de données WordPress
📝 Structure des fichiers
num-id-checkout/
├── Woo-client-id-checkout.php # Fichier principal du plugin
└── README.md # Documentation
🔄 Changelog
Version 1.0.8
- ✅ Version actuelle du plugin
- ✅ Ajout du champ ID Client conditionnel pour le produit
7901 - ✅ Validation obligatoire du champ avant finalisation de la commande
- ✅ Sauvegarde de l'ID Client dans les métadonnées de commande
- ✅ Affichage de l'ID Client dans l'administration WooCommerce
- ✅ Gestion automatique des produits incompatibles (
5265et7901) - ✅ Contrôles de quantité personnalisés au checkout (boutons + / - / Supprimer)
📄 Licence
Ce plugin est distribué sous la licence GPL v3 ou ultérieure.
Voir GNU General Public License pour plus de détails.
👤 Auteur
Khadija Har
- GitHub : @khadijaHr
- Plugin URI : https://github.com/khadijaHr/
🤝 Contribution
Les contributions sont les bienvenues ! N'hésitez pas à :
- 🐛 Signaler des bugs via les issues GitHub
- 💡 Proposer de nouvelles fonctionnalités
- 🔧 Soumettre des pull requests
- 📝 Améliorer la documentation
⚠️ Notes importantes
- IDs de produits codés en dur : Les IDs de produits (
7901et5265) sont codés en dur dans le code source. Pour modifier ces valeurs, éditez directement le fichierWoo-client-id-checkout.php - Environnement de test : Il est fortement recommandé de tester le plugin sur un environnement de développement avant de l'utiliser en production
- Sauvegarde : Faites toujours une sauvegarde complète de votre site avant d'installer ou de mettre à jour un plugin
- Compatibilité : Le plugin est compatible avec WordPress 6.2+ et WooCommerce. Testez la compatibilité avec votre version spécifique si nécessaire
📞 Support
Pour toute question, problème ou suggestion concernant ce plugin, veuillez :
- Consulter la section Dépannage ci-dessus
- Vérifier les issues existantes sur GitHub
- Créer une nouvelle issue sur le dépôt GitHub du plugin
Dernière mise à jour : 2025