Parfois dans WooCommerce, nous avons besoin d’offrir certains avantages au moment de l’achat et l’utilisation des codes promos est en général une solution suffisante. Toutefois lorsqu’on souhaite offrir autre chose qu’une réduction monétaire, il faut souvent se tourner vers de la modification plus poussée du thème woocommerce.
Besoin d’un spécialiste WooCommerce pour votre projet ? Contactez-moi
Dans notre exemple, nous avons mis en place un code promotionnel nommé « PREMIEREFOIS » qui, une fois saisi dans le panier, nous ajoute un produit offert.
Pour réaliser ce type d’offre, vous allez avoir besoin dans un premier temps de créer un produit gratuit, celui-ci ne sera pas listé dans le catalogue, je vais vous montrer comment faire.
Voici également une solution simple pour offrir un produit gratuit avec l’utilisation du plugin Simple Gift qui se chargera de faire un ajout automatique du produit dans le panier du client.
1. Ajouter un produit gratuit dans WooCommerce
Pour ce faire, vous allez devoir tout simplement créer un produit qui ne coute rien, c’est à dire que le prix est égal à 0,
et récupérer son identifiant ( ID ) qui nous sera utile par la suite, vous le trouverez dans la liste des produits comme ceci :
Masquer un produit du catalogue woocommerce
Afin d’éviter que le produit soit affiché dans notre boutique, nous devons le masquer. Il y à une option un peu cachée dans WooCommerce, au niveau du bloc de publication, un lien nommé « visibilité du catalogue » et qui propose plusieurs options, donc celle de cacher le produit, cliquez dessus :
La création du coupon de réduction
Maintenant vous devez créer le coupon, de réduction. Dans cotre exemple nous allons l’appeler « premierefois » :
La remise doit se faire sur le panier et avec une réduction de 0€, (puisque le produit et lui même gratuit)
Rendre un produit unique dans le panier
Enfin pour éviter l’ajout de plusieurs produits gratuits, vous devez cocher la case « Vendre individuellement » pour n’autoriser qu’un exemplaire unique d’un article dans une commande.
Une fois notre produit créé et bien configuré il ne nous reste plus qu’à rentrer dans le code. Pour cela vous allez devoir modifier le fichier functions.php de votre theme.
La fonction WooCommerce
Personnalisez ces 2 fonctions avec votre code promo et l’ID de votre produit gratuit
// Configuration : function mrsize_produit_gratuit_coupon_nom(){ return 'premierefois'; // Titre du coupon } function mrsize_produit_gratuit_id(){ return 825; // ID du produit gratuit }
Les lignes suivantes vont permettre d’ajouter le produit gratuit à l’ajout du code promo defini plus haut :
// Hooks : add_action( 'woocommerce_applied_coupon', 'mrsize_ajouter_produit_gratuit_avec_coupon' ); function mrsize_ajouter_produit_gratuit_avec_coupon( $code_coupon ) { $produit_gratuit_id = mrsize_produit_gratuit_id(); $produit_gratuit_coupon_nom = mrsize_produit_gratuit_coupon_nom(); if ( $produit_gratuit_coupon_nom === $code_coupon ) { WC()->cart->add_to_cart( $produit_gratuit_id ); } }
et de le supprimer si le coupon n’est plus présent :
add_action('template_redirect','mrsize_enlever_produit_gratuit_sans_coupon'); function mrsize_enlever_produit_gratuit_sans_coupon(){ $produit_gratuit_id = mrsize_produit_gratuit_id(); $produit_gratuit_coupon_nom = mrsize_produit_gratuit_coupon_nom(); // Recuperer l'ID du produit dans le panier : $produit_panier_id = WC()->cart->generate_cart_id( $produit_gratuit_id ); $produit_panier_article_cle = WC()->cart->find_product_in_cart( $produit_panier_id ); $coupons_appliques = WC()->cart->get_applied_coupons(); // Si aucun coupon n'est appliqué, on supprime le produit gratuit : if( count( $coupons_appliques ) === 0 ) WC()->cart->remove_cart_item( $produit_panier_article_cle ); // Si au moins un coupon est appliqué : if( count( $coupons_appliques ) > 0 ){ foreach ( $coupons_appliques as $coupon_applique ){ // Si le coupon n'est le bon, on supprime le produit gratuit : if( $coupon_applique !== $produit_gratuit_coupon_nom ){ // on supprime le produit gratuit : if ( $produit_panier_article_cle ) WC()->cart->remove_cart_item( $produit_panier_article_cle ); } } } }
Télécharger le code
Pour un aperçu de l’ensemble du code, rendez-vous sur GitHub.
Simplifiez la gestion de votre boutique WooCommerce avec nos plugins !
Si vous êtes utilisateur de la solution e-commerce WordPress, sachez qu’une boutique d’extensions dédiée à WooCommerce vous propose des plugins professionnels ainsi que des solutions uniques de personnalisations simples et efficaces, accompagnés d’un support premium.
Cette article vous a-t’il été utile ? Si vous avez des questions, n’hésitez pas à les poser dans les commentaires ou par e-mail.
Découvrez nos plugins WooCommerce
Améliorez votre boutique en ligne avec nos plugins personnalisés :
Automatisez vos promotions, multiple point de collecte, bon d’achat exclusif à chaque nouveau inscrit, …