Si vous êtes prêt à modifier le code de votre site WordPress/WooCommerce pour offrir à vos clients une option de Click & Collect, vous êtes au bon endroit. Dans cet article, nous vous expliquerons en détail comment configurer une solution simple et efficace.
Étape 1 : Créer un plugin
Avant de commencer, il est important de noter que nous allons créer un plugin WooCommerce pour ajouter cette nouvelle méthode de livraison. De cette manière, vous pourrez effectuer des mises à jour sans affecter le code principal de votre thème.
Pour créer un plugin WordPress, rendez-vous dans les dossiers de votre site et commencez par créer un répertoire dans « wp-content/plugins ». Nommez le fichier principal « nom-du-plugin.php » avec les informations d’en-tête :
Besoin d’un spécialiste Woocommerce pour votre projet ? Contactez-moi
<?php
/**
* Plugin Name: Mon Plugin Click and collect
* Description: Mes fonctions personnalisées
* Version: 1.0
* Author: Votre nom
* Author URI: URL de votre site Web
*/
Enregistrez-le fichier puis activez le plugin depuis le tableau de bord WordPress, section « Extensions ».
Votre plugin sera alors fonctionnel, ajoutant des fonctionnalités personnalisées que vous saisirez dans ce fichier .php à votre site tout en préservant la stabilité de WordPress.

Étape 2 : Créer une nouvelle méthode de livraison
Dans cette étape, nous allons ajouter une nouvelle méthode de livraison qui permettra à vos clients de choisir le retrait en point de vente plutôt que la livraison traditionnelle. Le code ci-dessous vous permettra de créer cette méthode de livraison :
/**
* Fonction pour ajouter une méthode de livraison "Click and Collect" dans WooCommerce.
*/
function wpcac15_ajouter_click_and_collect_method( $methods ) {
// Crée une classe pour la méthode de livraison
class WC_Click_And_Collect_Shipping_Method extends WC_Shipping_Method {
/**
* Constructeur de la méthode de livraison.
*/
public function __construct() {
$this->id = 'click_and_collect'; // ID unique de la méthode de livraison
$this->method_title = 'Click and Collect'; // Nom affiché de la méthode de livraison
$this->method_description = 'Retirez votre commande en magasin'; // Description de la méthode de livraison
// Activer la méthode de livraison
$this->enabled = 'yes';
// Définir les coûts et les frais d'emballage ici si nécessaire
$this->init();
// Permettre à WooCommerce de gérer les calculs des frais
$this->supports = array(
'shipping-zones',
'instance-settings',
'instance-settings-modal',
);
}
/**
* Calcul des frais d'expédition.
*
* @param array $package Les détails du panier.
*/
public function calculate_shipping( $package = array() ) {
// Vous pouvez définir ici votre propre logique de calcul des frais de livraison.
// Par exemple, en fonction de la distance du magasin, du poids, etc.
// Vous devrez utiliser $this->add_rate() pour définir les frais de livraison.
}
}
// Enregistrez la classe comme une méthode de livraison dans WooCommerce
function ajouter_click_and_collect_method_to_shipping_methods( $methods ) {
$methods['click_and_collect'] = 'WC_Click_And_Collect_Shipping_Method';
return $methods;
}
add_filter( 'woocommerce_shipping_methods', 'ajouter_click_and_collect_method_to_shipping_methods' );
return $methods;
}
add_filter( 'woocommerce_shipping_methods', 'wpcac15_ajouter_click_and_collect_method' );
Une fois cette étape terminée, votre nouvelle méthode de livraison « Click and Collect » Woocommerce sera disponible dans la liste des méthodes d’expédition sur la page de panier de vos clients.

Egalement, Cette nouvelle méthode sera ajoutée à votre liste des méthodes d’expéditions disponibles sur la page de panier.

et visible sur votre facture PDF

Étape 3 : Afficher le choix du point de retrait dans l’édition de la commande
Vous pouvez également afficher le choix du point de retrait en magasin ou autre dans l’édition de la commande dans l’interface d’administration WooCommerce. Cette fonctionnalité permettra de mieux gérer les commandes Click & Collect. Voici comment faire :

Voici la fonction qui va vous permettre d’afficher l’information
Besoin d’un spécialiste Woocommerce pour votre projet ? Contactez-moi
// Afficher la méthode de livraison dans le détail de la commande en admin
function wpcac15_display_shipping_and_pickup_in_order( $order ) {
$shipping_methods = $order->get_shipping_methods();
$is_click_and_collect = false;
foreach ( $shipping_methods as $shipping_method ) {
if ( $shipping_method['method_id'] === 'Click and Collect' ) {
$is_click_and_collect = true;
break;
}
}
if ( $is_click_and_collect ) {
echo '<h3>Click and Collect </h3>';
echo '<p><strong>Oui</strong><br/></p>';
} elseif ( ! $is_click_and_collect ) {
echo '<h3>Click and Collect</h3>';
// pas de click and collecy
}
}
add_action( 'woocommerce_admin_order_data_after_shipping_address', 'wpcac15_display_shipping_and_pickup_in_order', 30, 5 );
Voilà, vous avez maintenant toutes les étapes nécessaires pour mettre en place une extension de retrait en magasin pour WooCommerce. Si vous avez besoin d’aide pour la configuration ou si vous avez des questions, n’hésitez pas à me contacter.