Comment un poissonnier gère ses commandes des fêtes avec un plugin WooCommerce sur mesure

prix achat produit woocommerce
prix achat produit woocommerce
prix achat produit woocommerce

Chaque fin d’année, c’est la même scène : le téléphone qui sonne non-stop, les commandes qui arrivent de partout, les marchés à préparer, les retraits en magasin à organiser…
Pour notre client poissonnier, les fêtes de fin d’année sont le moment le plus intense de l’année, mais aussi celui où l’organisation doit être millimétrée.

Son site e-commerce WooCommerce n’est pas ouvert en permanence : il est réactivé chaque année uniquement pour les fêtes. Pendant quelques semaines, les clients peuvent passer leurs commandes en ligne, choisir leur date de retrait et le lieu de collecte (marché, magasin, point de vente…), puis le site repasse en mode “silencieux” le reste de l’année.

La problématique : beaucoup de commandes, mais peu de visibilité

Au départ, le site permettait déjà de choisir une date de livraison grâce au plugin YITH WooCommerce Delivery Date. Les clients sélectionnaient simplement le jour où ils souhaitaient récupérer leur commande.

Mais côté organisation, ce n’était pas suffisant. Notre client avait besoin de répondre à des questions très concrètes :

  • Combien de produits dois-je préparer pour le 24 décembre ?
  • Combien de commandes sont prévues pour tel marché ou tel point de retrait ?
  • Quelle quantité totale de chaque article dois-je commander à mes fournisseurs pour chaque jour clé ?

WooCommerce et YITH Delivery Date fournissent les données… mais pas la vue métier dont il avait besoin.
Il lui fallait un outil de préparation, pas juste une liste de commandes.

Notre réponse : un tableau de préparation par date et par point de retrait

C’est là que nous sommes intervenus. À partir des données déjà stockées par WooCommerce et YITH Delivery Date, nous avons développé un plugin WooCommerce sur mesure : Wycan Order Filter.

Concrètement, nous avons ajouté une nouvelle page dans l’admin WooCommerce : un écran dédié où le commerçant peut :

  • sélectionner une date de livraison ;
  • filtrer (ou non) par lieu de retrait (marché, boutique, etc.) ;
  • obtenir automatiquement un récapitulatif des produits à préparer pour cette date et ce lieu.

Résultat : pour chaque combinaison date de retrait + point de vente, le plugin affiche :

  • la liste des produits concernés ;
  • le SKU et le type de produit (simple, variable, etc.) ;
  • la quantité totale à préparer pour chaque article ;
  • des statistiques globales (nombre de références, total d’articles à préparer, date sélectionnée, etc.).

En un coup d’œil, notre client sait donc exactement quoi préparer pour le 24, pour le 31, et pour chaque marché. La préparation des fêtes devient prévisible et structurée, au lieu d’être une succession de fichiers Excel bricolés à la main.

 

creation plugin yith woocomerce sur mesure

Un export CSV prêt pour le terrain

Pour aller plus loin, nous avons ajouté un bouton d’export CSV. En un clic, le poissonnier peut :

  • exporter la liste des produits à préparer pour une date donnée ;
  • l’ouvrir dans Excel, Google Sheets ou l’envoyer à son équipe ;
  • l’utiliser comme checklist de préparation en laboratoire ou sur le point de vente.

On passe ainsi d’un simple site de commande en ligne à un véritable outil logistique adapté à son métier.

Ce que ça montre de notre façon de travailler

Ce cas client illustre bien notre approche :

  • nous pouvons évidemment mettre en place une boutique en ligne “classique” avec WooCommerce ;
  • mais nous sommes surtout capables d’aller beaucoup plus loin avec du développement sur mesure :
    création de plugins WooCommerce spécifiques, interfaces dédiées, exports, automatisations, etc.

Votre activité ne ressemble pas à celle du voisin ? Votre e-commerce non plus ne devrait pas lui ressembler.
C’est exactement ce que permet le développement de plugins WooCommerce sur mesure : adapter l’outil à votre réalité terrain, et pas l’inverse.

Pour les plus techniques : comment fonctionne le plugin ?

Si vous aimez mettre le nez dans les entrailles de WordPress et WooCommerce, voici un aperçu de ce que fait le plugin Wycan Order Filter sous le capot.

1. S’appuyer sur YITH WooCommerce Delivery Date

Le plugin ne réinvente pas la roue : il s’appuie sur les données existantes du plugin
YITH WooCommerce Delivery Date. Les informations clés sont stockées en métadonnées de commande :

  • ywcdd_order_delivery_date : la date de livraison / retrait choisie au checkout (format Y-m-d) ;
  • ywcdd_order_carrier : le lieu de retrait (marché, magasin, etc.).

Notre plugin vient simplement lire et exploiter ces métas pour les transformer en vue métier exploitable.

2. Compatibilité HPOS et récupération des lieux de retrait

Pour récupérer la liste des lieux de retrait disponibles, nous utilisons une fonction utilitaire
wycan_get_available_carriers() qui s’adapte à la configuration du site :

  • si HPOS (High Performance Order Storage) est activé, nous interrogeons la table wc_orders_meta ;
  • sinon, nous passons par la table classique wp_postmeta.
				
					function wycan_is_hpos_enabled() { return class_exists( 'Automattic\WooCommerce\Utilities\OrderUtil' ) && \Automattic\WooCommerce\Utilities\OrderUtil::custom_orders_table_usage_is_enabled(); }
				
			

Dans les deux cas, nous récupérons les valeurs distinctes du méta ywcdd_order_carrier pour alimenter le sélecteur “Lieu de retrait” de la page d’admin.

3. Requête optimisée sur les commandes

Le cœur du plugin repose sur une fonction wycan_get_orders_by_delivery_date() qui s’appuie sur
WC_Order_Query pour récupérer les commandes pertinentes :

  • tous les statuts de commande sont chargés, sauf cancelledfailed et refunded ;
  • la requête filtre sur la date (ywcdd_order_delivery_date) et, si fourni, sur le lieu (ywcdd_order_carrier) via meta_query ;
  • le retour se fait sur les IDs uniquement ('return' => 'ids') pour limiter la charge.

Une fois les IDs récupérés, la fonction parcourt chaque commande et chaque ligne de commande ($order->get_items()) pour construire une vue agrégée par produit :

				
					// Création d'une clé unique par produit
$sku = $product->get_sku();
$key = $product_id . '_' . $sku;

// Agrégation des quantités
$products[ $key ]['quantities'][] = $item->get_quantity();

				
			
À la fin, on obtient un tableau avec :
  • product_id
  • sku
  • product (nom du produit)
  • type (simple, variation, etc.)
  • quantity (somme des quantités pour ce produit à la date donnée)
  • delivery_date

4. Interface d’admin dédiée dans WooCommerce

Dans l’administration, le plugin ajoute un sous-menu dans WooCommerce :

				
					add_submenu_page(
    'woocommerce',
    __( 'Filtre de Commandes', 'wycan-order-filter' ),
    __( 'Filtre de Commandes', 'wycan-order-filter' ),
    'manage_woocommerce',
    'wycan-order-filter',
    array( $this, 'render_page' )
);

				
			

La page utilise un datepicker jQuery UI (en français) pour choisir la date, un sélecteur pour le lieu de retrait, et affiche ensuite :

  • des cartes de statistiques (nombre de références, quantité totale, date de livraison) ;
  • un tableau responsive avec les produits et quantités ;
  • un bouton d’export CSV connecté à un endpoint AJAX sécurisé (wp_ajax_wycan_export_csv).

5. Export CSV via AJAX

L’export CSV est géré côté serveur par la méthode export_csv() de la classe
Wycan_Order_Filter_AJAX :

  • vérification de sécurité via check_ajax_referer() ;
  • contrôle des permissions (current_user_can( 'manage_woocommerce' )) ;
  • récupération des paramètres date et carrier en POST ;
  • appel à wycan_get_orders_by_delivery_date() ;
  • écriture des données dans php://output avec les bons en-têtes HTTP pour forcer le téléchargement.

Et si on faisait la même chose pour votre activité ?

Dans ce projet, nous avons transformé un site WooCommerce saisonnier en un véritable outil opérationnel pour la préparation des commandes de fêtes, grâce à un plugin WooCommerce sur mesure.

Si vous aussi vous avez des besoins spécifiques (saisonnalité, multi-points de retrait, préparation par lot, reporting avancé…), nous pouvons concevoir et développer le plugin WooCommerce qui colle exactement à votre façon de travailler.

Audit gratuit de votre site !
Discutons 30 minutes ensemble au sujet de votre site internet, gratuitement !

Hébergeur Wordpress

20% de remise !

Gestion des clients et facturation

1 mois offert sur votre abonnement !

Éditeur Wordpress

Gestionnaire de mot de passe

American Express

10 000 Miles Flying Blue / Air France offerts !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Un projet en tête ?
C’est le moment de nous contacter ! 🤓
Merci d'indiquer le budget maximum à ne pas dépasser pour ce projet.