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.


12-1 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.

[TODO] ACF BarfDogs

12.2 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),
        );
    }
    

12-3 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,
        ));
    }
    

 


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 de WooCommerce 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.