Développement

Introduction au Développement de Plugins pour WooCommerce

WooCommerce, en tant qu’extension de WordPress, est construit sur une architecture modulaire qui permet de créer des plugins personnalisés. Cela offre une grande flexibilité pour étendre les fonctionnalités de WooCommerce au-delà de ses capacités de base.

Chez Condorito, nous sommes spécialisés dans le développement de solutions WooCommerce sur mesure, permettant de repousser les limites des fonctionnalités e-commerce standard.
Que ce soit pour créer des types de produits uniques, des méthodes de paiement ou de livraison personnalisées adaptés aux besoins spécifiques de votre activité, nous avons l’expérience nécessaire pour vous accompagner. Dans cet article, nous vous expliquons comment créer un plugin pour WooCommerce, afin d’optimiser votre boutique en ligne et de maximiser son potentiel.

Création de Types de Produits Personnalisés

WooCommerce propose plusieurs types de produits par défaut (simples, variables, téléchargeables, etc.), mais vous pouvez avoir besoin de types de produits spécifiques pour répondre aux besoins uniques de votre boutique.

  1. Initialisation du plugin : Créez un fichier PHP dans votre répertoire de plugins avec les informations de base du plugin.
    /**
    * Plugin Name: Mon Produit Personnalisé
    * Description: Ajoute un type de produit personnalisé.
    * Version: 1.0 * Author: Condorito
    */
  2. Déclarer un nouveau type de produit : Utilisez le filtre woocommerce_product_type_selector pour ajouter votre produit à la sélection dans l’interface d’administration.
    add_filter('product_type_selector', 'ajouter_mon_produit_personnalise');
    
    function ajouter_mon_produit_personnalise($types){
        $types['mon_produit'] = __('Mon Produit', 'mon-plugin');
        return $types;
    }
    
  3. Créer une classe pour le nouveau type de produit : Vous devez créer une classe qui hérite de la classe WC_Product.
    class WC_Product_Mon_Produit extends WC_Product {
        public function __construct($product) {
            $this->product_type = 'mon_produit';
            parent::__construct($product);
        }
    }
    
  4. Sauvegarder les données personnalisées : Utilisez les hooks WooCommerce pour ajouter et sauvegarder les champs spécifiques à votre produit lors de l’édition dans l’admin.

Développer des Méthodes de Paiement Personnalisées

Si les options de paiement proposées par défaut (Stripe, PayPal, etc.) ne répondent pas à vos besoins, WooCommerce permet d’ajouter des passerelles de paiement personnalisées.

  1. Déclarer la passerelle : Utilisez le filtre woocommerce_payment_gateways.
    add_filter('woocommerce_payment_gateways', 'ajouter_ma_passerelle');
    
    function ajouter_ma_passerelle($methods) {
        $methods[] = 'WC_Gateway_Ma_Passerelle';
        return $methods;
    }
    
  2. Créer la classe de la passerelle : Créez une classe qui hérite de WC_Payment_Gateway.
    class WC_Gateway_Ma_Passerelle extends WC_Payment_Gateway {
        public function __construct() {
            $this->id = 'ma_passerelle';
            $this->method_title = 'Ma Passerelle Personnalisée';
            $this->method_description = 'Description de ma passerelle';
    
            // Champs de configuration
            $this->init_form_fields();
            $this->init_settings();
        }
    }
    
  3. Ajouter des paramètres de configuration : Incluez une page de configuration dans le back-office WooCommerce.
    public function init_form_fields() {
        $this->form_fields = array(
            'enabled' => array(
                'title' => 'Activer/Désactiver',
                'type' => 'checkbox',
                'label' => 'Activer Ma Passerelle',
                'default' => 'yes'
            ),
            'title' => array(
                'title' => 'Titre',
                'type' => 'text',
                'description' => 'Le titre que l\'utilisateur verra lors du paiement',
                'default' => 'Ma Passerelle Personnalisée',
                'desc_tip' => true,
            ),
        );
    }
    
  4. Gérer le paiement : Implémentez la méthode process_payment().
    public function process_payment($order_id) {
        $order = wc_get_order($order_id);
    
        // Effectuer la demande à la passerelle de paiement ici...
    
        // Si le paiement est validé
        $order->payment_complete();
        return array(
            'result' => 'success',
            'redirect' => $this->get_return_url($order),
        );
    }
    

Création de Méthodes d’Expédition Personnalisées

WooCommerce offre des options de livraison basiques, mais vous pouvez développer vos propres méthodes d’expédition si votre boutique nécessite des règles ou des calculs spécifiques.

  1. Déclarer la méthode d’expédition : Utilisez le filtre woocommerce_shipping_methods.
    add_filter('woocommerce_shipping_methods', 'ajouter_ma_methode_expédition');
    
    function ajouter_ma_methode_expédition($methods) {
        $methods['ma_methode'] = 'WC_Ma_Methode_Expedition';
        return $methods;
    }
    
  2. Créer la classe de la méthode d’expédition : Créez une classe héritant de WC_Shipping_Method.
    class WC_Ma_Methode_Expedition extends WC_Shipping_Method {
        public function __construct() {
            $this->id = 'ma_methode';
            $this->method_title = 'Ma Méthode d\'Expédition';
            $this->init();
        }
    
        public function init() {
            $this->init_form_fields();
            $this->init_settings();
        }
    }
    
  3. Calculer les tarifs d’expédition : Implémentez la méthode calculate_shipping().
    public function calculate_shipping($package = array()) {
        $tarif = 10; // Exemple de tarif fixe
    
        $this->add_rate(array(
            'id' => $this->id,
            'label' => $this->title,
            'cost' => $tarif,
        ));
    }
    

 

Bonus

Si vous nous avez lu jusqu’ici, c’est que le sujet vous intéresse, ou qu’il est intéressant, comme vous voudrez.
Pour vous remercier, on partage avec vous notre documentation maison, recensant les hooks woocommerce, illustré d’un code snippet pour son implémentation. Plus de 9000 pages. Oui, on n’est pas des rigolos.
Moins indigeste, lisez aussi notre article sur les plugins enfants.

Conclusion

Le développement de plugins WooCommerce personnalisés demande non seulement des compétences techniques avancées, mais aussi une vision stratégique pour répondre aux exigences spécifiques de votre entreprise.
Si vous cherchez un spécialiste WooCommerce proche de chez vous pour atteindre vos objectifs e-commerce, contactez-nous dès aujourd’hui. Ensemble, nous construirons la solution qui fera la différence pour votre activité.
Nos études de cas sont là pour en témoigner.


Retrouvez tous nos livres blancs.

6 commentaires

  1. Dev WooCommerce

    6 novembre 2024 at 15h57

    Des cas concrets ça aurait été sympa. Mais la base y est.

    Répondre
  2. E-Commerce Masters

    13 décembre 2024 at 21h50

    On développe des plugins WooCommerce custom pour nos clients. Cet article couvre bien les fondamentaux.

    Répondre
  3. Sara & Team

    14 avril 2025 at 20h36

    Bom artigo! Woocommerce é complexo, mas este post simplifica.

    Répondre
  4. Raj Kumar

    2 août 2025 at 14h55

    Clear and helpful. Bookmarked for future reference.

    Répondre
  5. Lucas Moretti

    13 août 2025 at 16h11

    WooCommerce plugins c’est un monde ! Merci pour la base solide.

    Répondre
    • condorito

      31 octobre 2025 at 9h27

      Bonjour Lucas,
      Regarde aussi dans le menu « ressources », les hooks WooCommerce.
      Une petite mine d’or si tu commences à te sentir à l’aise.

      Répondre

Laisser un commentaire

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

Cet article vous intéresse ?

Cet article vous intéresse ?

Abonnez-vous à notre newsletter pour être averti de notre actualité ! 

Vous êtes désormais inscrit !