Salt la conținut

Setări cookie-uri

Alegeți pentru fiecare tip ce cookie-uri permiteți. Puteți modifica oricând alegerea prin Setări cookie-uri, în partea de jos a fiecărei pagini. Declarație de confidențialitate

Necesare

Mereu active

Necesare pentru autentificare, pentru păstrarea coșului și pentru a vă reține alegerile. Acestea sunt mereu active.

Ce cookie-uri?
  • weboke_sessie, weboke_klant, weboke_remember: sesiunea și menținerea autentificării
  • weboke_basket: coșul de cumpărături
  • wkBtwIncl: afișarea prețurilor cu sau fără TVA
  • wok_cookies: alegerea privind cookie-urile, 12 luni

Măsoară ce reclamă duce la o vizită sau o comandă, ca să nu plătim pentru reclame care nu aduc nimic.

Ce cookie-uri?
  • Google Ads prin Google Tag Manager (_gcl_au, _gcl_aw), până la 90 de zile
  • OpenAI Ads, reclame în ChatGPT
  • wok_aff: prin ce partener ați ajuns la noi (program de afiliere), 60 de zile

4,6

Țară și limbă

Fiecare țară are propriul site, cu prețurile și TVA-ul pentru țara respectivă.

Vedeți

Cum funcționează WooCommerce

Modulul 1: Înainte de a începe · Timp de citire: 10 minute

Obiectiv de învățare: După această lecție veți putea explica modul în care funcționează WooCommerce în WordPress și unde se află produsele, comenzile, coșul și sarcinile programate.

Noțiuni cheie: tip de produs, tipul de articol product, comenzi (HPOS), paginile magazinului, sesiune și coș, Store API, REST API, Action Scheduler, e-mailuri tranzacționale, extensii

Un plugin care transformă site-ul dumneavoastră într-un magazin

În cursul despre WordPress (lecția 1.2 și 1.3) ați văzut cum se generează o pagină: serverul web transmite cererea către PHP, PHP încarcă WordPress, pluginurile și tema, preia datele din baza de date și le transformă în HTML. WooCommerce se integrează în acest proces ca un plugin de mari dimensiuni. El aduce patru lucruri:

  1. Date: produse, comenzi, clienți, cote de impozitare, zone de livrare.
  2. Pagini: magazinul, coșul, finalizarea comenzii și Contul meu.
  3. Procese: un coș pentru fiecare vizitator, plăți prin intermediul unui furnizor de plăți, e-mailuri, actualizarea stocului, sarcini programate.
  4. Puncte de acces pentru programe: Store API și REST API.

Cine știe unde se află aceste componente poate găsi mai târziu o eroare mult mai repede. De aceea le analizăm acum pe rând.

Produsele: un tip de articol propriu

WordPress cunoaște tipuri de articole: paginile și articolele sunt două dintre ele (cursul WordPress, lecția 4.2). WooCommerce adaugă tipul de articol product. Prin urmare, un produs se află, la fel ca o pagină, în tabelul cu articole, iar datele sale suplimentare (preț, SKU, stoc, greutate) sunt stocate ca metadate. Categoriile și etichetele produselor sunt taxonomii proprii, separate de cele ale blogului dumneavoastră.

Fiecare produs are un tip de produs. În nucleu, acestea sunt: simplu, grupat, extern (un link către alt magazin) și variabil. Pe lângă acestea, puteți bifa opțiunile virtual (nimic de expediat) și descărcabil (un fișier după plată). Un produs variabil are variații, de exemplu un ceainic în trei culori; fiecare variație este un element separat, cu preț și stoc proprii. Modulul 3 tratează acest subiect în detaliu.

Comenzile: tabele proprii (HPOS)

Înainte, WooCommerce stoca și comenzile ca articole. La magazinele aglomerate, acest lucru devenea lent, deoarece comenzile și articolele de blog împărțeau același tabel mare. De aceea a apărut HPOS (High-Performance Order Storage): comenzile în tabele proprii, precum wc_orders, wc_order_addresses și wc_orders_meta (precedate de prefixul de tabel al site-ului dumneavoastră). Începând cu WooCommerce 8.2 (octombrie 2023), HPOS este activat la fiecare instalare nouă. Un magazin mai vechi rămâne la vechiul mod de stocare până când treceți singur la noul mod din WooCommerce > Setări > Avansate > Funcționalități.

De ce este important să știți acest lucru? Din trei motive:

  • Copii de rezervă: comenzile nu se află în fișierele dumneavoastră, ci în baza de date. O copie de rezervă fără baza de date nu are nicio valoare pentru un magazin (lecția 6.2).
  • Extensii: o extensie mai veche care citește comenzile încă drept articole nu funcționează corect cu HPOS. WooCommerce afișează un avertisment la plugin dacă acesta nu este compatibil.
  • Restaurarea: dacă restaurați o copie de rezervă de ieri, comenzile de astăzi dispar. Pentru un magazin, acest lucru este mult mai grav decât pentru un blog (lecția 6.2).

Coșul: diferit pentru fiecare vizitator

O pagină obișnuită este aceeași pentru toți vizitatorii. Coșul nu. Imediat ce un vizitator adaugă ceva în coș, WooCommerce pornește o sesiune: un cookie (wp_woocommerce_session_ urmat de un cod) în browser și un rând într-un tabel de sesiuni din baza de date. Astfel, la următoarea cerere, magazinul știe ce coș aparține acestui vizitator.

Două consecințe pe care le veți regăsi mai târziu:

  • Coșul, finalizarea comenzii și Contul meu nu trebuie să ajungă niciodată într-o memorie cache de pagini, altfel un vizitator vede coșul altui vizitator. WooCommerce trimite el însuși, pe aceste pagini, antete care interzic memorarea în cache (lecția 6.4).
  • Un magazin care pornește o sesiune pentru fiecare vizitator, chiar și fără coș, face inutilă memoria cache de pagini pentru întregul site. Aceasta este o greșeală frecventă a temelor și a extensiilor.

Paginile magazinului și blocurile

La instalare, WooCommerce creează patru pagini: Magazin, Coș, Finalizare și Contul meu. Începând cu versiunea 8.3 (noiembrie 2023), instalările noi folosesc blocuri pentru coș și finalizarea comenzii; magazinele mai vechi folosesc adesea încă shortcode-uri. Ambele variante funcționează. Diferența este importantă pentru extensii: o extensie care adaugă ceva la finalizarea comenzii trebuie să suporte varianta pe care o folosiți dumneavoastră. Lecția 2.2 vă arată cum verificați acest lucru.

Două puncte de acces pentru programe: Store API și REST API

WooCommerce are două puncte de acces programabile, iar diferența dintre ele este importantă pentru securitate:

Store APIREST API
Adresă/wp-json/wc/store/v1/.../wp-json/wc/v3/...
Pentru cineMagazinul însuși (blocurile din browser) și alte interfețe de magazinIntegrări: contabilitate, stocuri, aplicații
Este necesară o cheie?Nu, este publică: oricine poate citi produsele și prețurileDa, o cheie API cu drepturi de citire sau de scriere
Ce conțineProduse, prețuri, starea stocului, coșul vizitatorului curentDe asemenea comenzi, clienți, rapoarte

Faptul că Store API este publică nu reprezintă o breșă: conține exact ceea ce vede orice vizitator în magazin, doar într-o formă pe care o pot citi programele. Încercați cu propriul magazin: deschideți https://shop.example.com/wp-json/wc/store/v1/products în browser (cu adresa dumneavoastră) și veți vedea produsele în format JSON. În schimb, REST API trebuie să fie închisă fără cheie. Lecția 2.4 le verifică pe amândouă.

În culise: Action Scheduler și e-mailurile

Multe operațiuni dintr-un magazin nu au loc în timp ce clientul așteaptă, ci mai târziu. WooCommerce folosește pentru aceasta Action Scheduler: o coadă de sarcini programate, cum ar fi anularea unei comenzi neplătite după timpul setat, trimiterea de webhook-uri sau actualizarea rapoartelor. Puteți vedea coada în WooCommerce > Stare > Acțiuni programate. Aceste sarcini rulează prin WP-Cron, care funcționează doar atunci când există vizitatori. La un magazin cu trafic redus, unele sarcini pot rămâne neexecutate; lecția 7.3 arată cum rezolvă acest lucru un cron real.

În plus, WooCommerce trimite e-mailuri tranzacționale: un e-mail către dumneavoastră la fiecare comandă nouă și e-mailuri către client la primirea comenzii, la expediere, la rambursare sau la crearea unui cont nou. Dacă acestea nu ajung, clientul crede că ceva nu este în regulă. Lecția 6.1 se ocupă de livrabilitatea e-mailurilor.

În practică: cum arată în WooCommerce

În panoul de administrare WordPress al Theehuis Example apar, după instalare, trei meniuri noi: WooCommerce (comenzi, clienți, setări, stare), Produse și Analitice (în versiunile recente, uneori sub WooCommerce). În WooCommerce > Stare găsiți mediul serverului, tabelele bazei de date, acțiunile programate și jurnalele. Veți avea nevoie des de acest ecran. Pașii sunt aceiași la orice furnizor de găzduire, deoarece se află în WordPress însuși.

Rezumat

  • WooCommerce aduce date, pagini, procese și două puncte de acces programabile.
  • Produsele sunt un tip de articol propriu; la magazinele noi, comenzile se află în tabele proprii (HPOS, implicit începând cu 8.2).
  • Coșul funcționează cu o sesiune pentru fiecare vizitator; de aceea, coșul, finalizarea comenzii și Contul meu nu trebuie să ajungă în cache.
  • Store API este publică și afișează ceea ce vede orice vizitator; REST API trebuie să fie închisă fără cheie.
  • Sarcinile programate rulează prin Action Scheduler și WP-Cron; e-mailurile fac parte din procesul de comandă.

Test (quiz)

1. Unde se află comenzile unui magazin WooCommerce nou cu HPOS?



2. De ce pornește WooCommerce o sesiune atunci când un vizitator adaugă ceva în coș?



3. Cineva deschide /wp-json/wc/store/v1/products în magazinul dumneavoastră fără să se autentifice și vede produsele cu prețuri. Ce înseamnă acest lucru?



4. La un magazin cu trafic redus, o comandă neplătită este anulată abia după câteva ore, în loc de după timpul setat. Care este cauza probabilă?



Exercițiu

Exercițiul A1.2: Funcționează acest site pe WooCommerce? Introduceți un domeniu, alegeți da sau nu și notați dovada pe care ați văzut-o (de exemplu "generator" sau "wc/store/v1"). Programul preia pagina principală, citește indexul REST (/wp-json/, doar lista de namespace-uri) și solicită /wp-json/wc/store/v1/products?per_page=1. Recunoaște WooCommerce după un meta generator cu WooCommerce, namespace-ul wc/store/v1 din indexul REST, o Store API funcțională, fișiere din /wp-content/plugins/woocommerce/ sau clasa body woocommerce. Verde: alegerea dumneavoastră este corectă, iar dovada apare în antete, în HTML, în indexul REST sau în răspunsul Store API; veți vedea atunci și numărul de produse și moneda. Portocaliu: alegerea dumneavoastră este corectă, dar nu regăsim dovada indicată. Roșu: alegerea dumneavoastră nu este corectă. Încercați mai întâi pe propriul magazin și apoi pe un magazin pe care îl cunoașteți. Nu se adaugă nimic în coș și nu se trimite nimic.

Exercițiul A1.2: Funcționează acest site pe WooCommerce?




Ceea ce completați și ceea ce găsim nu se salvează. Browserul dumneavoastră reține răspunsurile și dacă ați rezolvat exercițiul. Dacă sunteți autentificat, păstrăm în Cursurile mele doar faptul că exercițiul a fost (aproape) corect; și de acolo îl puteți șterge.

Lecturi suplimentare

Acolo unde sunt descriși pași într-un panou, aceștia sunt valabili pentru WebOké; la alți furnizori, procedura este similară.

Un moment…

Configurați domeniile

Stabiliți pentru fiecare domeniu nameserverele, legătura cu hostingul și cine devine titularul.

Se încarcă domeniile…