WP Manifestindependent plugin directory
manifest / ecommerce / woocommerce-client-id-checkout

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

0stars
0forks

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.zip

Version : 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 7901 est 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 5265 et 7901
  • 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

  1. Téléchargez ou clonez le plugin dans votre dossier wp-content/plugins/
  2. Assurez-vous que le dossier s'appelle num-id-checkout (ou le nom de votre choix)
  3. Connectez-vous à votre administration WordPress
  4. Allez dans ExtensionsWooCommerce Client ID CheckoutActiver

Méthode 2 : Installation via FTP

  1. Uploadez le dossier du plugin dans /wp-content/plugins/
  2. Activez le plugin depuis l'administration WordPress : ExtensionsWooCommerce Client ID CheckoutActiver

⚙️ 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 7901 est 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 (5265 et 7901) sont corrects dans le code
  • ✅ Assurez-vous que le hook woocommerce_before_calculate_totals n'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 (5265 et 7901)
  • ✅ 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


🤝 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 (7901 et 5265) sont codés en dur dans le code source. Pour modifier ces valeurs, éditez directement le fichier Woo-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 :

  1. Consulter la section Dépannage ci-dessus
  2. Vérifier les issues existantes sur GitHub
  3. Créer une nouvelle issue sur le dépôt GitHub du plugin

Dernière mise à jour : 2025