Pereiti prie turinio

Slapukų nustatymai

Pasirinkite, kokių rūšių slapukus leidžiate. Pasirinkimą bet kada galite pakeisti per „Slapukų nustatymai“ kiekvieno puslapio apačioje. Privatumo pareiškimas

Būtinieji

Visada įjungti

Reikalingi prisijungti, išsaugoti krepšelį ir įsiminti Jūsų pasirinkimus. Jie visada įjungti.

Kokie slapukai?
  • weboke_sessie, weboke_klant, weboke_remember: Jūsų sesija ir prisijungimo išlaikymas
  • weboke_basket: Jūsų krepšelis
  • wkBtwIncl: kainų rodymas su PVM arba be PVM
  • wok_cookies: Jūsų slapukų pasirinkimas, 12 mėnesių

Matuoja, kuri reklama atveda prie apsilankymo ar užsakymo, kad nemokėtume už neveiksmingas reklamas.

Kokie slapukai?
  • Google Ads per Google Tag Manager (_gcl_au, _gcl_aw), iki 90 dienų
  • OpenAI Ads, reklamos ChatGPT
  • wok_aff: per kurį partnerį atėjote pas mus (partnerių programa), 60 dienų

4,6

Šalis ir kalba

Kiekviena šalis turi savo svetainę su tos šalies kainomis ir PVM.

Peržiūrėti

Kaip veikia WooCommerce

1 modulis: Prieš pradedant · Skaitymo laikas: 10 min.

Mokymosi tikslas: Po šios pamokos galėsite paaiškinti, kaip WooCommerce veikia WordPress sistemoje ir kur yra prekės, užsakymai, krepšelis bei suplanuotos užduotys.

Pagrindinės sąvokos: prekės tipas, įrašo tipas product, užsakymai (HPOS), parduotuvės puslapiai, sesija ir krepšelis, Store API, REST API, Action Scheduler, operaciniai el. laiškai, plėtiniai

Įskiepis, kuris Jūsų svetainę paverčia parduotuve

WordPress kurse (pamokos 1.2 ir 1.3) matėte, kaip sukuriamas puslapis: interneto serveris perduoda užklausą PHP, PHP įkelia WordPress, įskiepius ir temą, paima duomenis iš duomenų bazės ir iš jų sukuria HTML. WooCommerce įsilieja į šį procesą kaip didelis įskiepis. Jis atneša keturis dalykus:

  1. Duomenys: prekės, užsakymai, klientai, mokesčių tarifai, pristatymo zonos.
  2. Puslapiai: parduotuvė, krepšelis, apmokėjimas ir paskyra.
  3. Procesai: atskiras krepšelis kiekvienam lankytojui, mokėjimai per mokėjimų paslaugų teikėją, el. laiškai, atsargų atnaujinimas, suplanuotos užduotys.
  4. Prieigos taškai programoms: Store API ir REST API.

Kas žino, kur yra šios dalys, vėliau klaidą suras daug greičiau. Todėl dabar jas aptarsime po vieną.

Prekės: atskiras įrašo tipas

WordPress turi įrašų tipus: puslapiai ir įrašai yra du iš jų (WordPress kurso pamoka 4.2). WooCommerce prideda įrašo tipą product. Taigi prekė, kaip ir puslapis, saugoma įrašų lentelėje, o papildomi jos duomenys (kaina, SKU, atsargos, svoris) saugomi kaip metaduomenys. Prekių kategorijos ir žymos yra atskiros taksonomijos, nesusijusios su Jūsų tinklaraščio kategorijomis ir žymomis.

Kiekviena prekė turi prekės tipą. Pagrindiniai tipai yra paprasta, sugrupuota, išorinė (nuoroda į kitą parduotuvę) ir kintama prekė. Prie jų galite pažymėti varneles virtuali (nieko nereikia siųsti) ir atsisiunčiama (failas po apmokėjimo). Kintama prekė turi variantus, pavyzdžiui, arbatinukas trijų spalvų; kiekvienas variantas yra atskiras elementas su savo kaina ir atsargomis. Plačiau apie tai kalbama 3 modulyje.

Užsakymai: atskiros lentelės (HPOS)

Anksčiau WooCommerce užsakymus taip pat saugojo kaip įrašus. Didelio srauto parduotuvėse tai veikė lėtai, nes užsakymai ir tinklaraščio įrašai dalijosi ta pačia didele lentele. Todėl atsirado HPOS (High-Performance Order Storage): užsakymai saugomi atskirose lentelėse, pavyzdžiui, wc_orders, wc_order_addresses ir wc_orders_meta (prieš jas rašomas Jūsų svetainės lentelių priešdėlis). Nuo WooCommerce 8.2 (2023 m. spalio mėn.) HPOS įjungtas kiekviename naujame diegime. Senesnė parduotuvė naudoja senąjį saugojimo būdą, kol pati neperjungiate jo skiltyje WooCommerce > Nustatymai > Papildoma > Galimybės.

Kodėl tai svarbu žinoti? Dėl trijų priežasčių:

  • Atsarginės kopijos: užsakymai saugomi ne Jūsų failuose, o duomenų bazėje. Atsarginė kopija be duomenų bazės e. parduotuvei yra bevertė (pamoka 6.2).
  • Plėtiniai: senesnis plėtinys, kuris užsakymus vis dar skaito kaip įrašus, su HPOS gerai neveikia. WooCommerce įspėja prie įskiepio, jei jis nesuderinamas.
  • Atkūrimas: jei atkuriate vakarykštę atsarginę kopiją, šiandienos užsakymai dingsta. E. parduotuvei tai daug blogiau nei tinklaraščiui (pamoka 6.2).

Krepšelis: kiekvienam lankytojui skirtingas

Įprastas puslapis visiems lankytojams vienodas. Krepšelis ne. Kai tik lankytojas įsideda ką nors į krepšelį, WooCommerce pradeda sesiją: naršyklėje sukuriamas slapukas (wp_woocommerce_session_ su po juo einančiu kodu), o duomenų bazės sesijų lentelėje įrašoma eilutė. Taip parduotuvė per kitą užklausą žino, kuris krepšelis priklauso šiam lankytojui.

Dvi pasekmės, su kuriomis susidursite vėliau:

  • Krepšelis, apmokėjimas ir paskyra niekada neturi patekti į puslapių podėlį, kitaip vienas lankytojas matys kito lankytojo krepšelį. WooCommerce šiuose puslapiuose pats siunčia antraštes, draudžiančias podėlį (pamoka 6.4).
  • Parduotuvė, kuri sesiją pradeda kiekvienam lankytojui, net ir be krepšelio, padaro visos svetainės puslapių podėlį beprasmį. Tai dažna temų ir plėtinių klaida.

Parduotuvės puslapiai ir blokai

Diegimo metu WooCommerce sukuria keturis puslapius: Parduotuvė, Krepšelis, Apmokėjimas ir Paskyra. Nuo 8.3 versijos (2023 m. lapkričio mėn.) nauji diegimai krepšeliui ir apmokėjimui naudoja blokus; senesnės parduotuvės dažnai dar naudoja trumpuosius kodus (shortcodes). Veikia abu variantai. Skirtumas svarbus plėtiniams: plėtinys, kuris ką nors prideda prie apmokėjimo, turi palaikyti Jūsų naudojamą variantą. Pamokoje 2.2 parodyta, kaip tai patikrinti.

Du prieigos taškai programoms: Store API ir REST API

WooCommerce turi du programuojamus prieigos taškus, o jų skirtumas svarbus saugumui:

Store APIREST API
Adresas/wp-json/wc/store/v1/.../wp-json/wc/v3/...
Kam skirtaPačiai parduotuvei (blokams naršyklėje) ir kitoms parduotuvės sąsajomsIntegracijoms: buhalterijai, atsargų valdymui, programėlėms
Ar reikia rakto?Ne, vieša: kiekvienas gali skaityti prekes ir kainasTaip, API raktas su skaitymo arba rašymo teisėmis
Kas joje yraPrekės, kainos, atsargų būsena, dabartinio lankytojo krepšelisTaip pat užsakymai, klientai, ataskaitos

Tai, kad Store API vieša, nėra duomenų nutekėjimas: tai lygiai tas pats, ką parduotuvėje mato kiekvienas lankytojas, tik programoms suprantama forma. Išbandykite savo parduotuvėje: naršyklėje atidarykite https://shop.example.com/wp-json/wc/store/v1/products (su savo adresu) ir pamatysite savo prekes JSON formatu. Tuo tarpu REST API be rakto turi būti uždaryta. Pamokoje 2.4 tikrinamos abi.

Užkulisiuose: Action Scheduler ir el. laiškai

Daug darbo e. parduotuvėje atliekama ne tada, kai klientas laukia, o vėliau. Tam WooCommerce naudoja Action Scheduler: suplanuotų užduočių eilę, pavyzdžiui, neapmokėto užsakymo atšaukimą praėjus nustatytam laikui, webhook pranešimų siuntimą ar ataskaitų atnaujinimą. Eilę matote skiltyje WooCommerce > Būsena > Suplanuoti veiksmai. Šios užduotys vykdomos per WP-Cron, kuris veikia tik tada, kai yra lankytojų. Ramioje parduotuvėje darbai gali likti neatlikti; pamokoje 7.3 parodyta, kaip tai išsprendžia tikras cron.

Be to, WooCommerce siunčia operacinius el. laiškus: laišką Jums gavus naują užsakymą ir laiškus klientui, kai užsakymas gautas, išsiųstas, grąžinti pinigai ar sukurta nauja paskyra. Jei jie nepasiekia gavėjo, klientas mano, kad kažkas negerai. Pamokoje 6.1 sutvarkomas laiškų pristatomumas.

Praktikoje: kaip tai atrodo WooCommerce

Įdiegus WooCommerce, Theehuis Example WordPress valdymo skydelyje atsiranda trys nauji meniu: WooCommerce (užsakymai, klientai, nustatymai, būsena), Produktai ir Statistika (naujausiose versijose kartais po WooCommerce). Skiltyje WooCommerce > Būsena rasite serverio aplinką, duomenų bazės lenteles, suplanuotus veiksmus ir žurnalus. Šio ekrano Jums netrukus prireiks dažnai. Žingsniai pas visus talpinimo paslaugų teikėjus vienodi, nes jie yra pačioje WordPress.

Santrauka

  • WooCommerce atneša duomenis, puslapius, procesus ir du programuojamus prieigos taškus.
  • Prekės yra atskiras įrašo tipas; naujose parduotuvėse užsakymai saugomi atskirose lentelėse (HPOS, numatytasis nuo 8.2).
  • Krepšelis veikia su atskira sesija kiekvienam lankytojui; todėl krepšelis, apmokėjimas ir paskyra negali patekti į podėlį.
  • Store API vieša ir rodo tai, ką mato kiekvienas lankytojas; REST API be rakto turi būti uždaryta.
  • Suplanuotos užduotys vykdomos per Action Scheduler ir WP-Cron; el. laiškai yra užsakymo proceso dalis.

Testas (quiz)

1. Kur saugomi naujos WooCommerce parduotuvės su HPOS užsakymai?



2. Kodėl WooCommerce pradeda sesiją, kai lankytojas įsideda ką nors į krepšelį?



3. Kažkas neprisijungęs atidaro Jūsų parduotuvės /wp-json/wc/store/v1/products ir mato Jūsų prekes su kainomis. Kas tai?



4. Ramioje parduotuvėje neapmokėtas užsakymas atšaukiamas tik po kelių valandų, o ne praėjus nustatytam laikui. Kokia tikėtina priežastis?



Užduotis

Užduotis A1.2: Ar ši svetainė veikia su WooCommerce? Įveskite domeną, pasirinkite „taip“ arba „ne“ ir užrašykite, kokį įrodymą matėte (pavyzdžiui, „generator“ arba „wc/store/v1“). Programa atsisiunčia pagrindinį puslapį, perskaito REST indeksą (/wp-json/, tik vardų sričių sąrašą) ir užklausia /wp-json/wc/store/v1/products?per_page=1. WooCommerce ji atpažįsta pagal meta generator su WooCommerce, vardų sritį wc/store/v1 REST indekse, veikiančią Store API, failus iš /wp-content/plugins/woocommerce/ arba body klasę woocommerce. Žalia: Jūsų pasirinkimas teisingas, o Jūsų įrodymas yra antraštėse, HTML, REST indekse arba Store API atsakyme; tada taip pat matote prekių skaičių ir valiutą. Oranžinė: Jūsų pasirinkimas teisingas, bet Jūsų įrodymo nerandame. Raudona: Jūsų pasirinkimas neteisingas. Pirmiausia išbandykite savo parduotuvėje, o paskui kitoje Jums žinomoje parduotuvėje. Į krepšelį nieko nededama ir nieko nesiunčiama.

Užduotis A1.2: Ar ši svetainė veikia su WooCommerce?




Ko, ką įvedate ir ką randame, nesaugome. Jūsų naršyklė atsimena Jūsų atsakymus ir tai, ar užduotį atlikote. Jei esate prisijungę, skiltyje Mano kursai išsaugome tik tai, kad užduotis buvo atlikta (ar beveik atlikta); ten tai galite ir pašalinti.

Platesniam skaitymui

Kur aprašyti žingsniai valdymo skydelyje, jie taikomi WebOké; pas kitus paslaugų teikėjus veikia panašiai.

Akimirką…

Nustatykite domenus

Kiekvienam domenui nustatykite vardų serverius, susiejimą su talpinimu ir tai, kas taps valdytoju.

Įkeliami Jūsų domenai…