Comment créer des codes de coupon uniques dans WooCommerce par programmation

Publié: 2020-07-06

Dans notre article précédent, nous avons expliqué comment appliquer automatiquement le code de coupon au panier WooCommerce. Là, nous avons utilisé un code de coupon générique qui est créé dans le menu WooCommerce -> Coupons pour toutes les commandes passées par les différents clients.

Mais parfois, en tant que propriétaire de magasin, vous souhaitez créer un code de coupon unique pour chaque client sur votre site Web dans certaines situations. Prenons deux exemples où vous voudrez peut-être créer des codes de coupon uniques.

Exemple 1 :

En tant que propriétaire d'une boutique en ligne, la pire chose à laquelle vous pouvez faire face avec le cycle d'achat d'un client est l'abandon du panier. Environ. 68 à 70% des paniers sur un site web sont abandonnés par les utilisateurs et il peut y avoir plusieurs raisons à cela. L'une des raisons les plus courantes serait les prix plus élevés des produits ou les frais supplémentaires tels que les frais d'expédition sont élevés, ce qui est généralement indiqué à la caisse et pas avant.

Alors ici, pour minimiser l'abandon de panier et convertir un maximum d'utilisateurs en clients, vous pouvez simplement les attirer avec quelques coupons de réduction pour leur achat. De cette façon, vous pouvez convertir vos paniers abandonnés en paniers récupérés.

Dans de tels cas, il est préférable de fournir un code de coupon unique avec une seule limite d'utilisation pour chaque panier abandonné afin d'éviter les utilisations multiples du code.

Exemple 2 :

Un autre exemple de création de codes de réduction uniques serait pour les clients qui ont acheté une fois dans votre magasin, mais pour les inciter à acheter plus, vous préférerez leur envoyer des coupons de réduction pour leur prochain achat. Donc, ici, si vous créez un code de coupon générique pour tous les clients, ils peuvent transmettre les coupons aux autres personnes qu'ils connaissent et qui peuvent être utilisés par eux pour leurs nouveaux achats.

Donc, ici, un code de coupon créé pour les clients fidèles peut être utilisé à mauvais escient. Pour éviter cela, il est préférable de créer un code promo unique pour chaque client avec une limite d'utilisation fixée à 1.

Il n'est pas possible de créer manuellement des codes de coupon uniques pour chaque client à partir du menu WooCommerce -> Coupons. L'autre option serait donc d'ajouter un extrait de code pour créer plusieurs coupons à la fois pour différents utilisateurs et nous discuterons de la manière d'y parvenir dans notre article.

2 façons de créer des codes promo uniques dans WooCommerce

La première étape pour créer un code de coupon unique serait de créer une chaîne aléatoire pour chaque coupon. Cela serait créé en utilisant le code ci-dessous.

 $caractères = "ABCDEFGHJKMNPQRSTUVWXYZ23456789" ;
$char_length = "8" ;
$random_string = substr( str_shuffle( $characters ), 0, $char_length );

Ici, la fonction substr() renvoie la partie de la chaîne spécifiée par les paramètres start et length et la fonction str_shuffle() mélange aléatoirement la chaîne transmise.

Après avoir généré la chaîne unique, l'étape suivante consiste à créer le code de coupon à l'aide d'un extrait de code. Nous discuterons de 2 façons de créer des codes de réduction par programme dans WooCommerce .

1. Utilisation de la fonction wp_insert_post()

La première façon d'ajouter le code de coupon par programmation consiste à utiliser la fonction wp_insert_post() qui vous permet d'ajouter ou de mettre à jour une publication WordPress. Donc, dans notre cas, nous ajoutons une publication avec le type de publication shop_coupon en utilisant cette fonction. Pour ajouter la méta pour les coupons créés, la fonction update_post_meta() est utilisée. Vous devez ajouter le code ci-dessous au fichier functions.php du thème enfant ou utiliser n'importe quel plugin d'extraits de code.

 $coupon_code = 'UNIQUECODE'; // Code créé à l'aide de l'extrait de chaîne aléatoire.
$montant = '10'; // Montant
$discount_type = 'pourcent'; // Tapez : panier_fixe, pourcentage, produit_fixe, produit_pourcentage
          
$coupon = tableau(
    'post_title' => $coupon_code,
    'post_content' => '',
    'post_status' => 'publier',
    'post_author' => 1,
    'post_type' => 'shop_coupon'
);
            
$new_coupon_id = wp_insert_post( $coupon );
            
// Ajout de méta
update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
update_post_meta( $new_coupon_id, 'coupon_amount', $amount );
update_post_meta( $new_coupon_id, 'individual_use', 'no' );
update_post_meta( $new_coupon_id, 'product_ids', '' );
update_post_meta( $new_coupon_id, 'exclude_product_ids', '' );
update_post_meta( $new_coupon_id, 'usage_limit', '' );
update_post_meta( $new_coupon_id, 'expiry_date', '' );
update_post_meta( $new_coupon_id, 'apply_before_tax', 'yes' );
update_post_meta( $new_coupon_id, 'free_shipping', 'no' );

2. Utilisation de l'API WooCommerce Rest

Une autre façon d'ajouter un code de coupon par programmation consiste à utiliser l'API WooCommerce Rest fournie par le plugin lui-même. WooCommerce a un guide complet fourni pour l'API Rest, y compris l'authentification, la récupération de données, les coupons, les commandes, etc. mais pour référence, vous trouverez ci-dessous un petit extrait que vous pouvez utiliser pour la création de code de coupon.

 require_once __DIR__ . '/fournisseur/autoload.php';

utilisez Automattic\WooCommerce\Client ;
utilisez Automattic\WooCommerce\HttpClient\HttpClientException ;

$woocommerce = nouveau Client(
    'https://exemple.com',
    'La clé du consommateur',
    'secret_consommateur',
        [
            'wp_api' => vrai,
      'version' => 'wc/v3'
        ]
);

$données = [
    'code' => '10off',
    'discount_type' => 'pourcentage',
    'montant' => '10',
    'individu_use' => vrai,
    'exclude_sale_items' => vrai,
    'montant_minimum' => '100.00'
] ;
  
$woocommerce->post( 'coupons', $data );

Il s'agit d'un extrait de code de base permettant de créer un code de réduction de 10 % sur une commande dont le total est supérieur à 100 $. Le code promo est '10off' et ne peut être utilisé que par un seul client. Ce ne sont que les propriétés de base requises pour la création du code de coupon, mais si vous souhaitez ajouter des propriétés supplémentaires, voici la liste correspondante.

id( entier ) Identifiant unique de l'objet .

code – (chaîne)(Obligatoire) Code de coupon.

montant – (chaîne) Le montant de la remise. Doit toujours être numérique, même si vous définissez un pourcentage.

date_created – (date-heure) La date à laquelle le coupon a été créé, dans le fuseau horaire du site.

date_created_gmt – (date-heure) La date à laquelle le coupon a été créé, en GMT.

date_modified – (date-heure) La date à laquelle le coupon a été modifié pour la dernière fois, dans le fuseau horaire du site.

date_modified_gmt – (date-heure) La date à laquelle le coupon a été modifié pour la dernière fois, en GMT.

discount_type – (string) Détermine le type de remise qui sera appliqué. Options : pourcentage, panier_fixe et produit_fixe. La valeur par défaut est fixed_cart .

description – (chaîne) Description du coupon.

date_expires – (chaîne) La date d'expiration du coupon, dans le fuseau horaire du site.

date_expires_gmt – (chaîne) La date d'expiration du coupon, en GMT.

usage_count – (entier) Nombre de fois où le coupon a déjà été utilisé.

individual_use – (bool) Si true, le coupon ne peut être utilisé qu'individuellement. Les autres coupons appliqués seront supprimés du panier. La valeur par défaut est false .

product_ids – (tableau) Liste des identifiants de produits sur lesquels le coupon peut être utilisé.

exclude_product_ids – (tableau) Liste des identifiants de produits sur lesquels le coupon ne peut pas être utilisé.

usage_limit – (entier) Combien de fois le coupon peut être utilisé au total.

usage_limit_per_user – (int) Combien de fois le coupon peut être utilisé par client.

limit_usage_to_x_items – (entier) Nombre maximum d'articles dans le panier auxquels le coupon peut être appliqué.

free_shipping - (bool) Si vrai et si la méthode de livraison gratuite nécessite un coupon, ce coupon activera la livraison gratuite. La valeur par défaut est false .

product_categories – (tableau) Liste des identifiants de catégorie auxquels le coupon s'applique.

exclude_product_categories – (tableau) Liste des identifiants de catégorie auxquels le coupon ne s'applique pas.

exclude_sale_items - (bool) Si vrai, ce coupon ne sera pas appliqué aux articles qui ont des prix de vente. La valeur par défaut est false .

minimum_amount - (chaîne) Montant minimum de la commande qui doit être dans le panier avant que le coupon ne s'applique.

maximum_amount – (string) Montant maximum de la commande autorisé lors de l'utilisation du coupon.

email_restrictions – (tableau) Liste des adresses e-mail pouvant utiliser ce coupon.

used_by - (tableau) Liste des identifiants d'utilisateurs (ou adresses e-mail d'invités) qui ont utilisé le coupon.

meta_data – (tableau) Métadonnées.

Conclusion

Les extraits de code mentionnés ci-dessus ne sont qu'un exemple de la façon de créer le code de coupon. Pour les utiliser sur votre site Web, il doit être attaché à tous les crochets ou filtres nécessaires. Par exemple, il peut être utilisé sur n'importe quel crochet du panier pendant que vous suivez l'abandon du panier ou il peut être utilisé dans le travail Cron qui sera exécuté chaque semaine pour envoyer des mises à jour par e-mail à vos clients.

Profitez de codes de réduction uniques et rendez des clients heureux et fidèles pour votre site Web.