Preskoči na vsebino

Nastavitve piškotkov

Za vsako vrsto izberite, katere piškotke dovolite. Svojo izbiro lahko kadar koli spremenite prek povezave Nastavitve piškotkov na dnu vsake strani. Izjava o zasebnosti

Nujni

Vedno vklopljeno

Potrebni so za prijavo, shranjevanje košarice in pomnjenje Vaših izbir. Vedno so vklopljeni.

Kateri piškotki?
  • weboke_sessie, weboke_klant, weboke_remember: Vaša seja in ohranjanje prijave
  • weboke_basket: Vaša košarica
  • wkBtwIncl: prikaz cen z DDV ali brez DDV
  • wok_cookies: Vaša izbira glede piškotkov, 12 mesecev

Meri, kateri oglas vodi do obiska ali naročila, da ne plačujemo za oglase, ki ne prinesejo ničesar.

Kateri piškotki?
  • Google Ads prek Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, oglasi v ChatGPT
  • wok_aff: prek katerega partnerja ste prišli k nam (partnerski program), 60 dni

4,6

Država in jezik

Vsaka država ima svojo spletno stran, s cenami in DDV za to državo.

Prikaži

Kako deluje WooCommerce

Modul 1: Preden začnete · Čas branja: 10 minut

Učni cilj: Po tej lekciji boste znali razložiti, kako WooCommerce deluje v WordPressu ter kje so izdelki, naročila, košarica in načrtovana opravila.

Ključni pojmi: tip izdelka, vrsta prispevka product, naročila (HPOS), strani trgovine, seja in košarica, Store API, REST API, Action Scheduler, transakcijska e-sporočila, razširitve

Vtičnik, ki Vaše spletno mesto spremeni v trgovino

V tečaju o WordPressu (lekciji 1.2 in 1.3) ste videli, kako nastane stran: spletni strežnik zahtevo preda PHP, PHP naloži WordPress, vtičnike in temo, pridobi podatke iz zbirke podatkov in iz njih ustvari HTML. WooCommerce se v ta proces vključi kot velik vtičnik. S seboj prinese štiri stvari:

  1. Podatke: izdelke, naročila, stranke, davčne stopnje, območja pošiljanja.
  2. Strani: trgovino, košarico, zaključek nakupa in Moj račun.
  3. Procese: košarico za vsakega obiskovalca, plačila prek ponudnika plačil, e-sporočila, posodabljanje zaloge, načrtovana opravila.
  4. Vstopne točke za programe: Store API in REST API.

Kdor ve, kje so ti deli, bo pozneje napako našel veliko hitreje. Zato si jih zdaj ogledamo enega za drugim.

Izdelki: lastna vrsta prispevka

WordPress pozna vrste prispevkov: strani in prispevki sta dve izmed njih (tečaj o WordPressu, lekcija 4.2). WooCommerce doda vrsto prispevka product. Izdelek je torej, tako kot stran, shranjen v tabeli s prispevki, njegovi dodatni podatki (cena, SKU, zaloga, teža) pa kot metapodatki. Kategorije in oznake izdelkov so lastne taksonomije, ločene od taksonomij Vašega bloga.

Vsak izdelek ima tip izdelka. Osnovni tipi so enostaven, združen, zunanji (povezava do druge trgovine) in spremenljiv. Zraven lahko vklopite kljukici virtualno (ničesar ni treba poslati) in prenosljivo (datoteka po plačilu). Spremenljiv izdelek ima različice, na primer čajnik v treh barvah; vsaka različica je samostojna postavka z lastno ceno in zalogo. Modul 3 to obravnava podrobneje.

Naročila: lastne tabele (HPOS)

Nekoč je WooCommerce tudi naročila shranjeval kot prispevke. Pri obiskanih trgovinah je bilo to počasno, ker so si naročila in prispevki bloga delili isto veliko tabelo. Zato je prišel HPOS (High-Performance Order Storage): naročila v lastnih tabelah, kot so wc_orders, wc_order_addresses in wc_orders_meta (s predpono tabel Vašega spletnega mesta spredaj). Od WooCommerce 8.2 (oktober 2023) je HPOS vklopljen pri vsaki novi namestitvi. Starejša trgovina ostane na starem načinu shranjevanja, dokler sami ne preklopite pod WooCommerce > Nastavitve > Napredno > Zmožnosti.

Zakaj morate to vedeti? Iz treh razlogov:

  • Varnostne kopije: naročila niso v Vaših datotekah, temveč v zbirki podatkov. Varnostna kopija brez zbirke podatkov je za spletno trgovino ničvredna (lekcija 6.2).
  • Razširitve: starejša razširitev, ki naročila še bere kot prispevke, s HPOS ne deluje pravilno. WooCommerce pri vtičniku opozori, če ta ni združljiv.
  • Obnovitev: če obnovite včerajšnjo varnostno kopijo, izginejo današnja naročila. Pri spletni trgovini je to veliko huje kot pri blogu (lekcija 6.2).

Košarica: za vsakega obiskovalca drugačna

Običajna stran je za vse obiskovalce enaka. Košarica ni. Ko obiskovalec nekaj doda v košarico, WooCommerce začne sejo: piškotek (wp_woocommerce_session_, ki mu sledi koda) v brskalniku in vrstico v tabeli sej v zbirki podatkov. Tako trgovina pri naslednji zahtevi ve, katera košarica pripada temu obiskovalcu.

Dve posledici, ki ju boste pozneje še srečali:

  • Košarica, zaključek nakupa in Moj račun nikoli ne smejo priti v predpomnilnik strani, sicer en obiskovalec vidi košarico drugega. WooCommerce na teh straneh sam pošlje glave, ki predpomnjenje prepovedujejo (lekcija 6.4).
  • Trgovina, ki sejo začne že pri vsakem obiskovalcu, tudi brez košarice, naredi predpomnilnik strani za celotno spletno mesto neuporaben. To je pogosta napaka tem in razširitev.

Strani trgovine in bloki

Ob namestitvi WooCommerce ustvari štiri strani: Trgovina, Košarica, Zaključek nakupa in Moj račun. Od različice 8.3 (november 2023) nove namestitve za košarico in zaključek nakupa uporabljajo bloke; starejše trgovine pogosto še uporabljajo kratke kode (shortcodes). Oboje deluje. Razlika je pomembna za razširitve: razširitev, ki nekaj doda zaključku nakupa, mora podpirati različico, ki jo uporabljate Vi. Lekcija 2.2 pokaže, kako to preverite.

Dve vstopni točki za programe: Store API in REST API

WooCommerce ima dve programabilni vstopni točki, razlika med njima pa je pomembna za varnost:

Store APIREST API
Naslov/wp-json/wc/store/v1/.../wp-json/wc/v3/...
Za kogaZa samo trgovino (bloke v brskalniku) in druge prodajne vmesnikePovezave: računovodstvo, zaloga, aplikacije
Je potreben ključ?Ne, javen: vsakdo lahko bere izdelke in ceneDa, API ključ s pravicami za branje ali pisanje
Kaj vsebujeIzdelke, cene, stanje zaloge, košarico trenutnega obiskovalcaTudi naročila, stranke, poročila

To, da je Store API javen, ni luknja: prikazuje natanko to, kar vsak obiskovalec vidi v trgovini, le v obliki, ki jo programi lahko berejo. Preizkusite to na svoji trgovini: v brskalniku odprite https://shop.example.com/wp-json/wc/store/v1/products (s svojim naslovom) in videli boste svoje izdelke v obliki JSON. REST API pa mora biti brez ključa zaprt. Lekcija 2.4 preveri oboje.

V ozadju: Action Scheduler in e-sporočila

Veliko dela v spletni trgovini se ne zgodi, medtem ko stranka čaka, temveč pozneje. WooCommerce za to uporablja Action Scheduler: čakalno vrsto načrtovanih opravil, kot so preklic neplačanega naročila po nastavljenem času, pošiljanje spletnih kavljev (webhooks) ali posodabljanje poročil. Čakalno vrsto vidite pod WooCommerce > Stanje > Načrtovana dejanja. Ta opravila tečejo na WP-Cron, ki deluje le, kadar so na strani obiskovalci. Pri mirni trgovini lahko delo zato obstoji; lekcija 7.3 pokaže, kako to reši pravi cron.

Poleg tega WooCommerce pošilja transakcijska e-sporočila: sporočilo Vam ob novem naročilu ter sporočila stranki ob prejemu, pošiljanju, vračilu denarja ali novem računu. Če ta ne prispejo, stranka misli, da je šlo nekaj narobe. Lekcija 6.1 uredi dostavljivost.

V praksi: tako je videti v WooCommerce

V skrbništvu WordPressa trgovine Theehuis Example se po namestitvi pojavijo trije novi meniji: WooCommerce (naročila, stranke, nastavitve, stanje), Izdelki in Analitika (v novejših različicah včasih pod WooCommerce). Pod WooCommerce > Stanje najdete strežniško okolje, tabele zbirke podatkov, načrtovana dejanja in dnevnike. Ta zaslon boste kmalu pogosto potrebovali. Koraki so pri vsakem ponudniku gostovanja enaki, ker so v samem WordPressu.

Povzetek

  • WooCommerce prinese podatke, strani, procese in dve programabilni vstopni točki.
  • Izdelki so lastna vrsta prispevka; naročila so pri novih trgovinah v lastnih tabelah (HPOS, privzeto od 8.2).
  • Košarica deluje s sejo za vsakega obiskovalca; zato košarica, zaključek nakupa in Moj račun ne smejo v predpomnilnik.
  • Store API je javen in prikazuje to, kar vidi vsak obiskovalec; REST API mora biti brez ključa zaprt.
  • Načrtovana opravila tečejo prek Action Scheduler in WP-Cron; e-sporočila so del postopka naročila.

Kviz

1. Kje so shranjena naročila nove trgovine WooCommerce s HPOS?



2. Zakaj WooCommerce začne sejo, ko obiskovalec nekaj doda v košarico?



3. Nekdo brez prijave odpre /wp-json/wc/store/v1/products Vaše trgovine in vidi Vaše izdelke s cenami. Kaj je to?



4. Neplačano naročilo se pri mirni trgovini prekliče šele ure pozneje namesto po nastavljenem času. Kaj je verjetni vzrok?



Naloga

Naloga A1.2: Ali to spletno mesto deluje na WooCommerce? Vnesite domeno, izberite da ali ne in zapišite, kateri dokaz ste videli (na primer "generator" ali "wc/store/v1"). Program pridobi domačo stran, prebere indeks REST (/wp-json/, samo seznam imenskih prostorov) in zahteva /wp-json/wc/store/v1/products?per_page=1. WooCommerce prepozna po meta generator z WooCommerce, imenskem prostoru wc/store/v1 v indeksu REST, delujočem Store API, datotekah iz /wp-content/plugins/woocommerce/ ali razredu body woocommerce. Zelena: Vaša izbira je pravilna in Vaš dokaz se pojavi v glavah, HTML, indeksu REST ali odgovoru Store API; takrat vidite tudi število izdelkov in valuto. Oranžna: Vaša izbira je pravilna, vendar Vašega dokaza ne najdemo. Rdeča: Vaša izbira ni pravilna. Najprej poskusite na svoji trgovini, nato na trgovini, ki jo poznate. Nič se ne doda v košarico in nič se ne pošlje.

Naloga A1.2: Ali to spletno mesto deluje na WooCommerce?




Tega, kar vnesete, in tega, kar najdemo, ne shranjujemo. Vaš brskalnik si zapomni Vaše odgovore in to, ali ste nalogo opravili. Če ste prijavljeni, v Moji tečaji shranimo samo podatek, da ste nalogo (skoraj) pravilno opravili; tudi to lahko tam izbrišete.

Za nadaljnje branje

Kjer so navedeni koraki v nadzorni plošči, veljajo za WebOké; pri drugih ponudnikih deluje podobno.

Trenutek…

Nastavite svoje domene

Za vsako domeno uredite imenske strežnike, povezavo z gostovanjem in kdo bo imetnik.

Nalaganje Vaših domen…