Arhiva de etichete: woocommerce

Cum se calculează numărul de comenzi plasate-n WooCommerce pentru un anumit cupon

Presupun aici că se pleacă de la codul de cupon, presupunere pe care n-o fac de dragul presupunerii or constrângerii, ci pleacă dintr-o nevoie particulară. Lucrurile sunt destul de simple aici, există o funcție standard pentru obținerea ID-ului de cupon – wc_get_coupon_id_by_code.

$couponId = wc_get_coupon_id_by_code($couponCode);

Următorul pas (sau primul dacă plecați direct de la ID) este folosirea tabelei wc_order_coupon_lookup (nu am inclus în denumirea tabelei prefixul configurat în WordPress) pentru a determina numărul de comenzi pentru acel ID de cupon. Această tabelă menține, pentru fiecare comandă (reprezentată aici prin ID-ul său – coloana order_id) ce cupon a fost folosit (reprezentat și el prin ID – coloana coupon_id).

Tabela wc_order_coupon_lookup

Citește mai departe

Afișarea denumirii și adresa locker-ului EasyBox folosind modulul oficial SameDay pentru WooCommerce

Pe lângă problema cu netrimiterea datelor locker-ului EasyBox ales, mai este loc de o îmbunătățire a ergonomiei modulului SameDay pentru WooCommerce: afișarea informațiilor locker-ului ales (nume și adresa) atunci când se afișează detaliile comenzii (în e-mail-ul de confirmare, panoul de administrare, contul de client etc.).

Clarificări

Clarificări

Motivele sunt evidente, așa că o să trec direct la descrierea soluției, adăugând doar că premisele de la care plec sunt:

– că oriunde este afișata metoda de transport asociată unei comenzi trebuie să fie afișate și aceste informații;
– că există doar o metodă de transport pentru o comandă.

Citește mai departe

Please choose your EasyBox Locker!

Eroarea din titlu am primit-o lucrând la un magazin virtual peste WooCommerce, având instalat modulul de livrare prin SameDay (problemă pe care au mai întâlnit-o și alții). Ei, cu toate că este selectat locker-ul la care să fie livrată comanda, modulul emite acest mesaj. Pentru început, am aruncat un ochi în codul sursă al modulului:

Sursa erorii

Sursa erorii

Cu alte cuvinte, se purta ca și cum datele nu ar fi fost trimise deloc. Să consultam și globul de cristal, adică Developer Tools – Network. Șoc sau nu, o să-ți vină sau n-o să-ți vină să crezi așa ceva, dar datele nu erau acolo deloc. Voilà, precum zăpezile anului trecut, precum bunul simț la ecologiști, imposibil de găsit:

Citește mai departe

Personalizarea listei de clase de livrare în WooCommerce

Cel mai simplu lucru pe care ți l-ai dori să-l obții ar fi să adaugi o coloană nouă, dar până și simplitatea asta suportă câteva adnotări, adică prezintă o serie de chichițe și umflături. Mai dificil este să adaugi o acțiune conextuală nouă pentru fiecare rând din lista de clase de livrare.

TL;DR,

TL;DR,

Adăugarea unei noi coloane

În întreprinderea noastră, procesul tehnologic pentru adăugarea unei noi coloane presupune, după obținerea avizelor necesare de la autoritățile competente, două lucruri:

înregistrarea coloanei în capul de tabel (adică înștiințarea WooCommerce că, hei, am dori și noi o coloană nouă în acea tabelă, dacă se poate și nu deranjăm) și
furnizarea unei valori pentru fiecare celulă corespunzătoare acelei coloane, pentru înregistrarea (zi-i, bre, rând!) corespunzătoare fiecărei clase de livrare.

Citește mai departe

Cum filtrezi produse-n WooCommerce după clasa de transport

Filtrarea produselor după clasa de transport este de fapt relativ simplu, având în vedere că WooCommerce este proiectat să adauge automat clasa de livrare în lista de conditii de interogare atunci când este prezentă ca parametru în URL, cu denumirea product_shipping_class.

Sursa: Envato Elements

Sursa: Envato Elements

Așadar, tot ce ne mai rămâne de făcut este să adăugăm, în zona de filtrare a paginii de produse din panoul de administrare, un element de tip drop-down, cu numele (atributul HTML name) amintit mai sus, care să afișeze clasele de livrare. În plus, trebuie să și marcăm corespunzător clasa de livrare aleasă.

Citește mai departe

Cum activezi livrarea automată în WooCommerce pe baza unui produs anume

Dacă te-ai întrebat cum poți implementa acordarea de transport gratuit cu titlu promoțional, atunci când un client adaugă în coș un produs marcat anume în acest scop, are să te cuprindă mirarea aflând (dar află oricum) că ai două modalități. Una mai grea, alta mai ușoară.

Mai greu

Calea mai dificilă și (probabil) mai interesantă pentru utilizatorii care știu un pic de programare și, eventual, pentru programatorii care știu un pic de programare este să-și scrie singur propriul modul, idee pe care o vom urmări mai jos.

Ilustrație de BZ

Ilustrație de BZ

O soluție, probabil nu singura, dar, în orice caz, cea care a funcționat pentru mine și pe care am folosit-o este folosirea noțiunii de clasă de transport disponibilă în WooCommerce pentru a marca produsul sau produsele care acordă favorul de transport gratuit.

Citește mai departe