Cum să creați coduri de cupon unice în WooCommerce în mod programatic

Publicat: 2020-07-06

În postarea noastră anterioară, am discutat despre cum se poate aplica automat codul de cupon în coșul WooCommerce. Acolo am folosit un cod de cupon generic care este creat în meniul WooCommerce -> Cupoane pentru toate comenzile plasate de diferiți clienți.

Dar uneori, în calitate de proprietar de magazin, doriți să creați un cod de cupon unic pentru fiecare client de pe site-ul dvs. în anumite situații. Să luăm două exemple în care ați putea dori să creați coduri de cupon unice.

Exemplul 1:

Ca proprietar de magazin online, cel mai rău lucru cu care te poți confrunta cu ciclul de cumpărare al unui client este abandonarea coșului de cumpărături. Aproximativ. 68 până la 70% dintre cărucioarele de pe un site web sunt abandonate de utilizatori și pot exista mai multe motive pentru asta. Unul dintre cele mai frecvente motive ar fi prețurile mai mari ale produselor sau taxele suplimentare, cum ar fi taxele de transport sunt mari, ceea ce se afișează în general la casă și nu înainte.

Așa că aici, pentru a minimiza abandonarea coșului și a converti cât mai mulți utilizatori în clienți, îi puteți atrage pur și simplu cu niște cupoane de reducere pentru achiziția lor. În acest fel, puteți converti cărucioarele abandonate în cărucioare recuperate.

În astfel de cazuri, cel mai bine este să furnizați un cod cupon unic cu o singură limită de utilizare pentru fiecare coș abandonat, pentru a evita utilizările multiple ale codului.

Exemplul 2:

Un alt exemplu de creare a unor coduri de cupon unice ar fi pentru clienții care au cumpărat o singură dată din magazinul dvs., dar pentru a-i atrage să cumpere mai multe, veți prefera să le trimiteți niște cupoane de reducere pentru următoarea lor achiziție. Deci, aici, dacă veți crea un cod de cupon generic pentru toți clienții, aceștia pot transmite cupoanele celorlalte persoane pe care le cunosc, care pot fi folosite de ei pentru noile lor achiziții.

Deci, aici un cod de cupon care este creat pentru clienții care revin poate fi folosit greșit. Pentru a evita acest lucru, este mai bine să creați un cod de cupon unic pentru fiecare client, cu o limită de utilizare setată la 1.

Nu este posibilă crearea manuală a codurilor de cupon unice pentru fiecare client din meniul WooCommerce -> Cupoane. Deci, cealaltă opțiune ar fi adăugarea unui fragment de cod pentru crearea mai multor cupoane simultan pentru diferiți utilizatori și vom discuta cum să obținem acest lucru în postarea noastră.

2 moduri de a crea coduri de cupon unice în WooCommerce

Primul pas pentru crearea unui cod de cupon unic ar fi crearea unui șir aleatoriu pentru fiecare cupon. Acesta ar fi creat folosind codul de mai jos.

 $caractere = "ABCDEFGHJKMNPQRSTUVWXYZ23456789";
$char_length = "8";
$random_string = substr( str_shuffle( $caractere ), 0, $char_length );

Aici funcția substr() returnează porțiunea din șirul specificată de parametrii start și length, iar funcția str_shuffle() amestecă aleatoriu șirul trecut.

După generarea șirului unic, următorul pas ar fi crearea codului de cupon folosind un fragment de cod. Vom discuta 2 moduri prin care puteți crea coduri de cupon în mod programatic în WooCommerce .

1. Folosind funcția wp_insert_post().

Prima modalitate de a adăuga codul cuponului în mod programatic este prin utilizarea funcției wp_insert_post(), care vă permite să adăugați sau să actualizați o postare WordPress. Deci, în cazul nostru, adăugăm o postare cu tipul de post shop_coupon folosind această funcție. Pentru a adăuga meta pentru cupoanele create se folosește funcția update_post_meta(). Trebuie să adăugați codul de mai jos în fișierul functions.php al temei copil sau folosind orice plugin pentru fragmente de cod.

 $coupon_code = 'COD UNIC'; // Cod creat folosind fragmentul de șir aleator.
$amount = '10'; // Cantitate
$discount_type = 'procent'; // Tip: fixed_cart, percent, fixed_product, percent_product
          
$cupon = matrice(
    'post_title' => $cod_cupon,
    'post_content' => ''',
    'post_status' => 'publicare',
    'post_author' => 1,
    'post_type' => 'shop_cupon'
);
            
$new_cupon_id = wp_insert_post( $cupon);
            
// Adăugați meta
update_post_meta( $new_coupon_id, 'discount_type', $discount_type );
update_post_meta( $new_coupon_id, 'cupon_amount', $amount );
update_post_meta( $new_coupon_id, 'individual_use', 'nu');
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', 'nu');

2. Utilizarea WooCommerce Rest API

O altă modalitate de a adăuga cod de cupon în mod programatic este utilizarea API-ului WooCommerce Rest furnizat de pluginul însuși. WooCommerce are un ghid complet furnizat pentru API-ul Rest, inclusiv autentificare, preluarea datelor, cupoane, comenzi etc., dar pentru referință, mai jos este un mic fragment pe care îl puteți folosi pentru crearea codului de cupon.

 necesită_o dată __DIR__ . '/vendor/autoload.php';

utilizați Automattic\WooCommerce\Client;
utilizați Automattic\WooCommerce\HttpClient\HttpClientException;

$woocommerce = client nou(
    „https://example.com”,
    „cheie_consumator”,
    'consumer_secret',
        [
            'wp_api' => adevărat,
      'version' => 'wc/v3'
        ]
);

$date = [
    'code' => '10off',
    'discount_type' => 'procent',
    'amount' => '10',
    'individual_use' => adevărat,
    'exclude_sale_items' => adevărat,
    'minimum_amount' => '100,00'
];
  
$woocommerce->post( 'cupoane', $date );

Acesta este un fragment de cod de bază pentru crearea unui cod de cupon pentru o reducere de 10% la o comandă care are un total de comandă mai mare de 100 USD. Codul de cupon este „10off” și poate fi folosit doar de un singur client. Acestea sunt doar proprietățile de bază necesare pentru crearea codului de cupon, dar dacă doriți să adăugați câteva proprietăți suplimentare, iată lista pentru el.

id( int ) Identificator unic pentru obiect .

cod – (șir) (obligatoriu) Cod cupon.

suma – (șir) Valoarea reducerii. Ar trebui să fie întotdeauna numeric, chiar dacă se stabilește un procent.

date_created – (data-time) Data la care a fost creat cuponul, în fusul orar al site-ului.

date_created_gmt – (data-ora) Data la care a fost creat cuponul, ca GMT.

date_modified – (data-time) Data la care cuponul a fost modificat ultima dată, în fusul orar al site-ului.

date_modified_gmt – (date-ora) Data la care cuponul a fost modificat ultima dată, ca GMT.

discount_type – (șir) Determină tipul de reducere care va fi aplicată. Opțiuni: procent, coș_fix și produs_fix. Implicit este fixed_cart .

description – (șir) Descrierea cuponului.

date_expires – (șir) Data la care expiră cuponul, în fusul orar al site-ului.

date_expires_gmt – (șir) Data la care expiră cuponul, ca GMT.

usage_count – (int) Numărul de ori cuponul a fost deja folosit.

individual_use – (bool) Dacă este adevărat, cuponul poate fi utilizat numai individual. Alte cupoane aplicate vor fi eliminate din coș. Implicit este fals .

product_ids – (matrice) Listă de ID-uri de produs pe care poate fi utilizat cuponul.

excluded_product_ids – (matrice) Listă de ID-uri de produs pe care cuponul nu poate fi utilizat.

usage_limit – (int) De câte ori poate fi folosit cuponul în total.

usage_limit_per_user – (int) De câte ori poate fi utilizat cuponul per client.

limit_usage_to_x_items – (int) Numărul maxim de articole din coș la care poate fi aplicat cuponul.

free_shipping – (bool) Dacă este adevărat și dacă metoda de livrare gratuită necesită un cupon, acest cupon va permite livrarea gratuită. Implicit este fals .

product_categories – (matrice) Listă de ID-uri de categorii cărora li se aplică cuponul.

excluded_product_categories – (matrice) Listă de ID-uri de categorii cărora nu se aplică cuponul.

exclude_sale_items – (bool) Dacă este adevărat, acest cupon nu va fi aplicat articolelor care au prețuri de vânzare. Implicit este fals .

minimum_amount – (șir) Suma minimă a comenzii care trebuie să fie în coș înainte ca cuponul să se aplice.

maximum_amount – (șir) Suma maximă de comandă permisă la utilizarea cuponului.

email_restrictions – (matrice) Listă de adrese de e-mail care pot folosi acest cupon.

used_by – (matrice) Listă de ID-uri de utilizator (sau adrese de e-mail pentru invitați) care au folosit cuponul.

meta_data – (matrice) Metadate.

Concluzie

Fragmentele de cod menționate mai sus sunt doar un exemplu de creare a codului de cupon. Pentru a le utiliza pe site-ul dvs. web, acesta trebuie să fie atașat la orice cârlige sau filtre necesare. De exemplu, poate fi folosit pe orice cârlig al căruciorului în timp ce urmăriți abandonul căruciorului sau poate fi folosit în jobul Cron care va fi rulat în fiecare săptămână pentru a trimite actualizări prin e-mail clienților dvs.

Profitați de codurile de cupon unice și faceți niște clienți fericiți pentru site-ul dvs.