Nema rezultata za taj pojam. Pokušajte s drugom riječi, npr. cjenik, SKU ili licenca.
1Što dodatak radi
Sidrena Cijena je tehnički alat za dvije nove obveze trgovaca u Hrvatskoj: isticanje dodatne (sidrene) cijene uz aktualnu cijenu i objavu strojno čitljivog cjenika na web stranici. Radi s WooCommerceom, a cjenik usluga i cjenik iz CSV-a rade i bez WooCommercea.
Što radi
- Za svaki proizvod i varijaciju čuva referentnu cijenu i referentni datum, odvojeno od WooCommerce cijena.
- Kupcu ispod aktualne cijene prikazuje manji redak, npr. Cijena na dan 10.09.2026.: 199,90 €, na svim mjestima gdje WooCommerce prikazuje cijenu.
- Generira CSV cjenik sa svim propisanim podacima i objavljuje ga na javnom URL-u bez prijave.
- Svaki dan prije 08:00 sprema numerirani, nepromjenjivi dnevni snapshot cjenika u arhivu (čuva se 35 dana), a aktualni cjenik osvježava kad se promijene cijene, akcije ili dostupnost.
- Na nadzornoj ploči pokazuje što nedostaje (cijena, SKU, barkod) i radi li automatizacija.
Što ne radi
- Ne mijenja redovnu ni akcijsku cijenu u WooCommerceu.
- Ne izmišlja referentne cijene ni barkodove. Ako podatak nedostaje, to jasno prijavi.
- Ne razvrstava proizvode u zakonske skupine. Koji proizvod ide na koji referentni datum odlučuje trgovac.
- Prati prvu ponudu: za proizvod objavljen nakon referentnog datuma jednom zabilježi datum i redovnu cijenu prvog dana u ponudi (pravilo potvrđeno od HOK-a i Ministarstva) i uzme ih kao referentne, uz mogućnost ručne izmjene.
- Ne jamči zakonsku usklađenost. Provjerava samo tehničko stanje.
Odgovornosti. Dodatak tehnički pomaže pri objavi i prikazu podataka. Trgovac je odgovoran za ispravnost dostavljenih cijena, referentne datume, klasifikaciju proizvoda, barkodove, marke i poslovne podatke. Za pitanja bez službenog tumačenja (proizvodi kojih nije bilo u ponudi na referentni datum, učestalost osvježavanja tijekom dana) dodatak ne pretpostavlja ništa i odluku prepušta trgovcu.
2Pojmovi
| Pojam | Značenje |
|---|---|
| Referentna (sidrena) cijena | Cijena koju ste za proizvod primjenjivali na referentni datum. U dodatku se sprema kao zaseban podatak s PDV-om. Kupcu se prikazuje kao „Cijena na dan …“. |
| Referentni datum | Datum na koji se referentna cijena odnosi. Zadano 10.09.2026.. Za hranu, piće, kozmetiku, sredstva za čišćenje, toaletne potrepštine i proizvode za kućanstvo ostaje 02.05.2025.. Svaki proizvod može imati svoj datum. |
| Aktualni cjenik | Javna CSV datoteka koja uvijek odražava trenutno stanje shopa. Osvježava se automatski nakon promjena. Nema broj pohrane. |
| Dnevni snapshot | Numerirana publikacija cjenika koja se stvara jednom dnevno (zadano 06:30) ili na klik. Nepromjenjiva je, ima propisani naziv datoteke i čuva se u arhivi. |
| Broj pohrane | Redni broj snapshota (000001, 000002…). Dio je naziva datoteke. |
| Arhiva | Popis svih snapshota s javnim poveznicama za preuzimanje. Čuva se 35 dana (zakonski minimum je 30). |
| SKU (šifra) | Interna šifra proizvoda u WooCommerceu. Dodatak je koristi za povezivanje CSV-a s proizvodima. SKU nije barkod. |
| Barkod (EAN/GTIN) | Broj s ambalaže (npr. 3850123456789). U cjeniku je zasebno polje „barkod“. Nikad se ne generira. |
| Marka | Proizvođač ili brend. Čita se iz WooCommerce Brands, atributa ili meta polja. |
| Status referentne cijene | Unesena (postoji cijena), Nedostaje (još nije unesena), Nije bio u ponudi na referentni datum (ručna oznaka trgovca). |
3Zakonski okvir ukratko
Dvije Odluke Vlade RH propisuju obveze: NN 75/2025 (od 2.5.2025., za hranu, piće, kozmetiku, sredstva za čišćenje, toaletne potrepštine i proizvode za kućanstvo) i NN 101/2026 (od 1.10.2026., za sve ostale proizvode i usluge, referentni dan 10.9.2026.).
- Uz aktualnu cijenu ističe se dodatna cijena koja je za proizvod vrijedila na referentni datum – na prodajnom mjestu, u oglasima i u webshopu. Ističe se i kad je jednaka aktualnoj.
- Ako je proizvod na referentni datum bio na akciji ili sniženju, dodatna cijena je cijena BEZ tog posebnog oblika prodaje (npr. perilica snižena 499,99 → 399,99: dodatna cijena je 499,99). Isto za popust na količinu.
- Proizvod ili usluga koji nisu postojali na referentni datum: dodatna cijena je cijena prvog dana u ponudi, s tim datumom (npr. „Cijena (15.9.2026.)“). Nema zaliha na referentni dan: vrijedi cijena iz cjenika tog dana. Promjena dobavljača: ostaje referentni datum.
- Cijena po jedinici mjere (€/kg, €/l) ističe se samo uz aktualnu cijenu, ne uz dodatnu.
- Barkod i marka navode se ako ih koristite; prazno polje je dopušteno. Na ponudama, predračunima i računima dodatna cijena se ne navodi. Na društvenim mrežama cijene se ne objavljuju, nego link na web.
- Obveze se primjenjuju na poslovanje s krajnjim potrošačima (B2C). Web shop s drugačijim cijenama od fizičke trgovine je zasebno prodajno mjesto sa zasebnim cjenikom.
- Trgovac s web stranicom objavljuje cjenik u strojno čitljivom obliku (CSV ili XML) s propisanim podacima, dostupan bez prijave i bez blokiranja automatiziranog dohvaćanja.
- Cjenik se ažurira jednom dnevno, najkasnije do 08:00 za tekući radni dan, a objavljeni cjenici ostaju dostupni 30 dana.
- Naziv datoteke sadrži oblik i adresu prodajnog objekta, oznaku objekta, broj pohrane te datum i vrijeme.
Dodatak pokriva tehnički dio svih navedenih točaka. Tekst propisa pročitajte u Narodnim novinama; ovaj sažetak nije pravni savjet.
4Prvi koraci: postavljanje
Nakon aktivacije dodatka otvorite Sidrena Cijena → Pregled i kliknite Postavi proizvode. Čarobnjak ima tri koraka i brojevi koraka su klikabilni, pa se možete vratiti unatrag čim su poslovni podaci spremljeni. Čarobnjak možete pokrenuti i kasnije, kad god želite promijeniti nešto od ovoga. U svakom koraku je Natrag lijevo, a Nastavi desno, kao i u čarobnjacima poslovnica i usluga.
Korak 1 · Poslovni podaci
Četiri polja: naziv, adresa prodajnog objekta, oblik objekta (npr. webshop) i oznaka objekta (ako je nemate, HOK preporučuje 001). Dodatak ih unaprijed popuni iz naziva weba i adrese trgovine iz WooCommercea, pa obično samo provjerite jesu li točni. Ulaze isključivo u naziv objavljene datoteke, u obliku {oblik}_{adresa}_{oznaka}_{broj pohrane}_{datum}_{vrijeme}.csv, npr. WEBSHOP_ZAGREBACKA10_001_000031_20260917_0630.csv.
Ispod polja je jedna kvačica, ne prodajem proizvode kod kojih je jedinična cijena bitna. Ona samo isključuje upozorenja o jediničnoj cijeni; stupci u CSV-u uvijek postoje. Sve se poslije mijenja u Postavkama.
Korak 2 · Referentni datum
Propis određuje polazni referentni datum: 10.09.2026. za proizvode općenito, a 02.05.2025. za ranije regulirane skupine (hrana, piće, kozmetika, sredstva za čišćenje, toaletne potrepštine, proizvodi za kućanstvo). U ovom koraku samo odgovarate spadaju li neke vaše kategorije u te skupine. Nijedan odgovor nije unaprijed označen i dok ne odaberete, korak ne ide dalje.
Datum se kategorijama ne upisuje u proizvode, nego se iz njih izvodi. Zato označavanje i odznačavanje kategorije djeluje odmah i na proizvode koje kasnije dodate u tu kategoriju.
Polazni datum nije uvijek i konačni. Proizvod koji je na svoj polazni datum već bio u prodaji zadržava ga. Proizvod koji je u prodaju krenuo kasnije koristi taj kasniji datum: kod podataka iz WordPressa dodatak vam ga predloži u koraku 3, a vi ga prije upisa pregledate i potvrdite. Isti izbor kategorija kasnije stoji u Postavkama, u alatu za skupnu primjenu referentnog datuma.
Korak 3 · Referentne cijene i aktivacija
Jedno pitanje: odakle dolaze referentne cijene i datumi? Dvije su mogućnosti.
- Iz moje tablice (CSV) (preporučeno). Datoteka sa šifrom, cijenom i datumom. Cijena i datum iz datoteke uvijek imaju prednost. Ako ima redaka bez datuma, pretpregled vas pita kakva je povijest tih proizvoda i tek nakon vašeg odgovora po retku pokaže koji datum uzima i što upisuje.
- Povuci iz WordPressa i potvrdi. Za svaki proizvod bez referentne cijene dodatak pokaže cijenu koju proizvod danas ima i datum koji predlaže. Ništa se ne upisuje dok ne potvrdite.
Ručni unos nije treća mogućnost, nego se svaki proizvod i poslije može pregledati i ispraviti na njegovom ekranu.
Gumb Prihvati i aktiviraj cjenik zaključuje postavljanje: dodatak aktivira cjenik proizvoda, odmah objavi prvu numeriranu verziju, arhivira je i otvori javne adrese. Od tada se aktualni cjenik osvježava sam kad se cijene promijene, a svako jutro nastaje novi dnevni snapshot.
Usluge
Ako pružate usluge, Sidrena Cijena → Usluge ima svoj kratki čarobnjak (poslovni podaci, popis usluga s aktualnom i referentnom cijenom). Cjenik usluga je zasebna CSV datoteka i radi neovisno o proizvodima.
Nakon aktivacije otvorite bilo koji proizvod na webu i provjerite redak ispod cijene. Zatim na Pregledu provjerite status i popis „Zahtijeva pažnju“.
5Pregled (nadzorna ploča)
Pregled se odnosi na proizvode: stanje kataloga, objavljeni cjenik, automatizacija, licenca i dnevnik događaja. Usluge imaju vlastitu stranicu s vlastitim statusom.
Statusna traka
| Stanje | Kada se pojavljuje |
|---|---|
| 🟢 Cjenik proizvoda je aktivan | Nema nijedne stavke koju treba riješiti. Preporuke (npr. barkod) ne mijenjaju zeleno stanje. |
| 🟡 Aktivan, ali nije potpun | Objava radi, ali dio proizvoda nema referentnu ili maloprodajnu cijenu. |
| 🔴 Potrebna intervencija | Cjenik se ne može generirati, nije javno dostupan, WooCommerce nije aktivan ili automatizacija ne radi. |
Dvije skupine nepravilnosti
Ispod statusne trake dodatak razdvaja ono što morate riješiti od onoga što je samo preporuka.
| Skupina | Što je unutra |
|---|---|
| Potrebno riješiti prije potpune objave | Proizvodi bez referentne cijene, proizvodi bez ijedne cijene (ne ulaze u cjenik), greška pri generiranju, cjenik nije javno dostupan, automatizacija ne radi. |
| Preporučujemo provjeriti | Proizvodi bez šifre (SKU) – stupac šifre ostaje prazan i uvoz po šifri ih ne može povezati; pokrivenost barkodom – barkod se navodi samo ako ga koristite; stavke označene s N/P. |
Kad nema nijedne stavke iz prve skupine, status ostaje zelen, a preporuke se prikazuju kao tiha bilješka bez znaka upozorenja.
Nedavni događaji bilježe svako generiranje, uvoz, snapshot i provjeru licence. Ako nešto ne štima, tu je prvi trag.
6Stranica Proizvodi
Popis svih objavljenih jednostavnih proizvoda i varijacija (varijabilni roditelj nema svoju cijenu pa nije na popisu). Filteri: Sve, Nedostaje referentna cijena, Unesena, Nije bio u ponudi, Drugi referentni datum, Bez barkoda, Bez SKU-a. Pretraga po SKU-u ili nazivu.
Iznad i ispod tablice je traka s brojem prikazanih redaka, izborom koliko ih ide po stranici (25, 50 ili 100) i listanjem stranica. Izbor se pamti dok prelazite između filtera i pretrage.
Uređivanje u retku
Za svaki proizvod upišete cijenu (s PDV-om, zarez ili točka) i po potrebi datum (dd.mm.gggg.), pa kliknete Spremi. Promjena odmah vrijedi na webu, a aktualni cjenik se osvježi u roku od 5 minuta.
Prazno polje datuma nije prazan datum. Prazno znači da proizvod ne nosi vaš upisani datum, nego ga izvodi. Zato je u polju kao nagovještaj ispisan datum koji proizvod stvarno nosi, a ispod polja prigušeno piše odakle taj datum dolazi: ručno upisano, iz zapisane prve ponude, iz kategorije ili iz postavki. Nagovještaj nije upisana vrijednost: dok polje ostavite prazno, datum i dalje prati kategorije i Postavke, pa se mijenja s njima.
Stupac Status uz stanje pokazuje i datum koji proizvod nosi te odakle je cijena upisana, ljudskim tekstom, a ne šifrom. Sedam je mogućih izvora: ručno upisano, potvrđeno skupno, uvoz CSV-a, uvoz CSV-a iz retka roditelja, zabilježena prva ponuda, potvrđena prva ponuda i vraćeno iz povijesti uvoza.
Status se ne bira ručno. Čim upišete cijenu, stavka je „Unesena“. Ako cijenu obrišete, vraća se u „Nedostaje“. Jedino što birate je kvačica N/P pokraj polja.
Što znači N/P
N/P je skraćeno za nije primjenjivo. Označite je samo za stavke koje na referentni datum nisu bile u ponudi krajnjim potrošačima, primjerice artikle koje prodajete isključivo poslovnim kupcima (B2B). Kad je kvačica označena, referentna cijena se briše, kupcu se ne prikazuje redak s referentnom cijenom, a proizvod se više ne broji u upozorenju „bez referentne cijene“. Za sve ostalo je ne dirajte: proizvod koji jednostavno još nema unesenu cijenu treba ostati u skupini „nedostaje“ da ga ne zaboravite.
Tri stanja i što znače
| Stanje | Ponašanje |
|---|---|
| Unesena | Postoji referentna cijena. Prikazuje se kupcu i u CSV-u. |
| Nedostaje | Nema cijene. Kupac ne vidi redak, CSV ima prazno polje, a proizvod je u skupini „Potrebno riješiti prije potpune objave“ na Pregledu. |
| Nije primjenjivo (N/P) | Vaša oznaka za iznimke, npr. samo B2B. Kupac ne vidi redak, ali proizvod nije u upozorenju. |
Novi proizvodi nakon referentnog datuma (prva ponuda)
Kad proizvod ili varijacija prvi put postane javno objavljen s cijenom dok je dodatak aktivan, dodatak jednom zabilježi datum prve ponude i redovnu cijenu tog dana (bez akcije). Taj zapis se nikad automatski ne mijenja: promjena zalihe, ponovno skrivanje i objavljivanje ili promjena cijene ne utječu na njega. Ako proizvod još nema referentnu cijenu, ta cijena i datum postaju referentni (izvor „prva ponuda“), a kupac vidi npr. „Cijena na dan 15.09.2026.: 1,49 €“. Možete ih ručno promijeniti na proizvodu. Za proizvode objavljene prije nego što ih je dodatak pratio ništa se ne pogađa iz datuma objave: unesite ili uvezite vrijednost sami.
Preuzimanje popisa: predložak ili izvještaj o stanju
Gumb Preuzmi ovaj popis iznad tablice daje CSV onoga što je trenutno filtrirano. Dobivate jednu od dvije datoteke, prema poslu koji radite.
| Što je odabrano | Što se preuzima |
|---|---|
| Filtar Nedostaje referentna cijena | Predložak za popunjavanje, datoteka predlozak-za-popunjavanje-…. Stupac cijene je namjerno prazan, jer ga popunjavate vi; u stupcu datuma stoji vaš upisani datum, a kad ga proizvod nema, zadani datum iz Postavki. Popunjenu datoteku vratite kroz Uvoz proizvoda. Proizvod bez šifre je posebno označen, jer ga uvoz po šifri ne može povezati. |
| Svaki drugi filtar | Izvještaj o stanju, datoteka stanje-referentnih-cijena-…. Nosi pohranjenu cijenu, datum koji proizvod stvarno nosi, izvor tog datuma i status. To je snimka stanja za provjeru, ne predložak: prazna cijena u njemu bila bi neistina, jer proizvod cijenu ima. |
Pretraga i odabrani filtar ulaze u datoteku, pa možete preuzeti i samo dio kataloga. Cijeli izvoz svih referentnih cijena je drugi posao i stoji u Postavkama, pod Sigurnosna kopija / izvoz.
Uređivanje na proizvodu
Ista polja postoje u WooCommerce uređivaču proizvoda (kartica Općenito, odjeljak „Sidrena Cijena – referentna cijena“) i na svakoj varijaciji. Ako je uključena jedinična cijena, tu su i polja jedinica mjere, količina i ručna jedinična cijena.
7Uvoz proizvoda iz CSV-a
Sidrena Cijena → Uvoz proizvoda. Uvoz povezuje redove iz vašeg CSV-a s proizvodima preko SKU-a i upisuje referentnu cijenu i datum (po želji i barkod i marku). Ponovni uvoz samo ažurira vrijednosti, nikad ne stvara duplikate. WooCommerce cijene se ne diraju.
Uvoz iz čarobnjaka (3. korak)
Kad u čarobnjaku odaberete Uvest ću stare cijene iz CSV datoteke, ispod opcije se otvori okvir s primjerom datoteke, gumbom Preuzmi primjer CSV-a i poljem za učitavanje. Primjer je ujedno izvoz vašeg kataloga: otvorite ga u Excelu, upišite cijene u stupac sidrena_cijena i spremite kao CSV. Učitavanjem datoteke ondje cjenik se aktivira i odmah otvara pregled uvoza - do potvrde pregleda ništa nije upisano u proizvode. Isti uvoz možete pokrenuti i kasnije preko Sidrena Cijena → Uvoz proizvoda.
Kakva datoteka
Minimalno dva stupca: šifra i cijena. Nazivi stupaca nisu bitni. Razdjelnik (; , tab |) i kodiranje (UTF-8 ili Windows-1250 iz Excela) prepoznaju se sami. Cijena s PDV-om, zarez ili točka. Datum neobavezan (02.05.2025., 2.5.2025, 2025-05-02). Svaka varijacija ide u svoj red sa svojim SKU-om.
| Primjer | ||||
|---|---|---|---|---|
| Šifra | Sidrena cijena | Datum | Barkod | Marka |
| MAJ-001 | 29,90 | 3850123456789 | Classic | |
| KAVA-500 | 7,49 | 02.05.2025. | 3850987654321 | Franck |
Korak 1 · Učitavanje
Odaberite datoteku (do 10 MB, do 50.000 redaka). Dodatak je pročita i prepozna stupce.
Korak 2 · Mapiranje stupaca
| Polje | Objašnjenje |
|---|---|
| SKU (obavezno) | Stupac sa šifrom jednakom SKU-u u WooCommerceu. |
| Referentna cijena (obavezno) | Cijena na referentni datum. Ako datoteka ima i „Cijena“ i „Sidrena cijena“, odaberite „Sidrena cijena“; „Cijena“ je često današnja. |
| Referentni datum | Neobavezno. Redak s datumom nosi taj datum kao vaš vlastiti. Redak bez datuma ne postavlja proizvodu vlastiti datum: dodatak pripremi datum iz vašeg weba i pokaže ga u pretpregledu prije nego se išta upiše. |
| Barkod / EAN, Marka | Neobavezno. Upisuju se ako su kvačice u redu Opcije uključene, a te su kvačice ponuđene uključene samo kad datoteka takav stupac stvarno ima: kvačica nad datotekom bez tog stupca obećavala bi nešto čega u datoteci nema. |
| Naziv proizvoda | Samo za čitljivije izvještaje. |
| Primijeni redak s SKU-om roditelja na varijacije bez vlastitog retka | Zadano isključeno. Ako datoteka ima red sa šifrom varijabilnog roditelja, cijena se upisuje varijacijama bez vlastitog retka tek kad ovo uključite. Varijacija sa svojim retkom uvijek zadržava svoju cijenu. |
Korak 3 · Pregled
Pokazuje što će se dogoditi prije nego išta upišete, istim redom kojim odlučujete: prvo jedna rečenica koliko je redaka pronađeno i koliko upisa slijedi, pa popis „Pogledajte ovo prije uvoza" s onim o čemu morate odlučiti (šifra nije pronađena, redak bez šifre, varijabilni roditelji, neispravna cijena ili datum, dupli SKU u datoteci ili u shopu, neispravan barkod). Svaka stavka ima poveznicu Prikaži koja otvara popis tih redaka pri dnu stranice; cijeli popis preuzmete u CSV-u.
Ispod toga su brojači (redaka u datoteci, pronađeni proizvodi, bit će upisano, datum iz datoteke / nije u datoteci) i tablica što se upisuje redak po redak. Potvrda i gumbi su ispod tablice, jer se potvrđuje ono što ste upravo pročitali.
Cijena na referentni datum nije akcijska cijena. Ako je proizvod na referentni datum bio na posebnom obliku prodaje (akcija, sniženje), u datoteku ide cijena BEZ tog posebnog oblika prodaje. Datoteka s akcijskim cijenama daje cjenik s pogrešnim iznosima, a to se na pregledu ne vidi jer dodatak ne zna koja je cijena bila akcijska.
Kad zadnja serija završi, rezultat se ispisuje na istom ekranu: koliko je upisano, koliko nepromijenjeno, koliko šifri nije pronađeno, koliko je grešaka i koliko je prvih ponuda zabilježeno, uz poveznicu na CSV izvještaj i gumb za povratak na uvoz. Panel je zelen kad greške nema, a narančast kad ih ima, i tada su greške ispisane odmah u njemu, pa ih ne treba tražiti u povijesti. Ako odete sa stranice ili ju osvježite, iste brojke vas čekaju kao obavijest na stranici uvoza.
Ako u datoteci ima redaka bez datuma, ovdje stoji pitanje „Kakva je povijest ovih proizvoda", s brojem redaka koji o njemu ovise. Nijedan odgovor nije unaprijed označen. Pitanje izgleda isto ovdje i u redu čekanja na stranici Proizvodi: naslov, dvije kartice koje se označe pri odabiru, napomena da ništa nije odabrano umjesto vas i gumb ispod.
- Bili su u prodaji na referentni datum: takav redak dobiva cijenu iz datoteke, a datum ostaje onaj koji proizvod izvodi iz kategorije i Postavki.
- Koristi datume objave iz WordPressa: proizvodu objavljenom nakon njegovog referentnog datuma taj se dan zapisuje kao dan prve ponude, po cijeni iz datoteke. Nemojte birati ovo ako ste katalog prenijeli u ovaj web kasnije nego što je roba krenula u prodaju.
Ako svaki redak u datoteci nosi svoj datum, pitanja nema: odgovor tada ne bi mijenjao ništa.
Ispod kartica je tablica „Što će se upisati, redak po redak": proizvod i šifra, cijena, izvor cijene, datum, izvor datuma i rečenica što će se za taj redak upisati. Izvor datuma ima tri oblika: iz datoteke, datum koji proizvod već nosi, iz kategorije i postavki ili iz dana objave u WordPressu. Dok na pitanje niste odgovorili, redci koji o njemu ovise pišu crticu i čekaju odgovor; čim odgovorite, tablica se ispuni. Redci bez datuma u datoteci stoje na vrhu, jer njih vrijedi pogledati. Prikazuje se prvih 50; cijeli popis preuzmite gumbom Preuzmi CSV.
Prije pokretanja stoji jedna kvačica: potvrđujete podatke iz datoteke i, za retke koji ne nose datum, datume prikazane u tablici. Dok kvačica nije označena i dok na pitanje niste odgovorili, gumb Pokreni uvoz je zaključan, a uvoz ne kreće ni na koji drugi način. Odgovor se zamrzne čim uvoz krene, pa sve serije pišu po istom odgovoru.
Pokreni uvoz upisuje podatke u paketima po 200 redaka s trakom napretka (3.000 redaka traje oko minutu). Ne zatvarajte stranicu; ako se prekine, osvježite i kliknite Nastavi uvoz. Nakon završetka piše sažetak: koliko je upisano, koliko nepromijenjeno, koliko nije pronađeno, koliko bez SKU-a, koliko grešaka (npr. barkod koji WooCommerce odbije).
Pripazite u Excelu
- Vodeće nule: šifra 00123 postaje 123 i ne bude pronađena. Oblikujte stupac kao Tekst.
- Dugi brojevi (EAN, brojčane šifre): Excel ih pretvori u 3,85E+12. Oblikujte kao Tekst.
- Razmaci na početku i kraju šifre se uklanjaju automatski; razmaci unutar šifre moraju biti isti kao u WooCommerceu.
- Spremite kao CSV UTF-8. Ako to nije moguće, i običan Windows CSV se prepoznaje.
- Ako pregled pokaže da više od polovice šifri nije pronađeno, dodatak upozori: gotovo sigurno je mapiran krivi stupac ili je format šifri drukčiji. Ne pokrećite uvoz dok to ne riješite.
Tipični scenariji
| Situacija | Postupak |
|---|---|
| Datoteka „šifra;cijena“ bez datuma, obična roba | Provjerite mapiranje, na pretpregledu na pitanje o povijesti odaberite Bili su u prodaji na referentni datum, pogledajte tablicu i pokrenite uvoz. |
| Prodajete i hranu i ostalo | Stupac datum s 02.05.2025. kod tih proizvoda, ili označite njihove kategorije u Postavkama, pa datum izvode same; vidi Referentni datum i skupna primjena. |
| Samo šifre roditelja za varijabilne proizvode | Prvo uvezite s isključenom opcijom i pošaljite popis roditelja klijentu. Uključite opciju samo ako potvrdi da sve varijacije imaju istu cijenu. |
| Proizvodi dodani nakon 10.09.2026. | Njih stari cjenik nema jer tada nisu postojali. Ostavite ih bez datuma u datoteci i na pitanje o povijesti odaberite Koristi datume objave iz WordPressa, ili ih poslije riješite na stranici Proizvodi gumbom Povuci iz WordPressa i potvrdi: dan objave se tada zapisuje kao dan prve ponude, uz vašu potvrdu. |
| Ispravljena datoteka za nenađene šifre | Uvezite samo tu manju datoteku; ostalo ostaje kako jest. |
| Jedna cijena se kasnije promijeni | Ručno na stranici Proizvodi ili ponovni uvoz: taj red je „ažuriran“, ostali „nepromijenjeni“. |
8Uvoz usluga je odvojen
Uvoz proizvoda i uvoz usluga su dva odvojena posla i ne mogu se pomiješati: CSV proizvoda nikad ne dira usluge, a CSV usluga nikad ne dira proizvode.
Uvoz usluga nalazi se na stranici Sidrena Cijena → Usluge, u panelu iznad popisa usluga. Usluge se povezuju po rednom broju (RB) iz popisa, a proizvodi po šifri (SKU). Detalji su u poglavlju o uslugama.
9Licenciranje i komunikacija s WEBHUB poslužiteljem
Ovo poglavlje opisuje kako dodatak provjerava licencu i koje podatke pritom šalje WEBHUB poslužitelju. Konačan sadržaj dopunjuje se kad licencni poslužitelj proradi.
Dotad vrijedi: licenca je vezana uz ključ, domenu i identifikator instalacije, ključ se u sučelju prikazuje maskirano, a provjera se radi najviše dvaput dnevno. Podaci o cijenama nikad se ne šalju izvan vašeg weba.
10Povijest uvoza i vraćanje stanja
Svaki uvoz CSV-a prije upisa sprema staro stanje samo onih polja koja mijenja. Zato se pogrešan uvoz može vratiti, bez vraćanja cijele baze i bez korištenja arhive cjenika.
Gdje se nalazi
Panel Povijest uvoza je na dnu stranice Uvoz proizvoda, a za usluge na stranici Usluge, ispod panela za uvoz. Čuva se zadnjih 10 uvoza; stariji se brišu zajedno sa svojom sigurnosnom kopijom.
Što se vraća
- Kod proizvoda: sidrena cijena, referentni datum i status. Barkod i marku koje je uvoz upisao povrat ne dira.
- Proizvod koji prije uvoza nije imao sidrenu cijenu vraća se u stanje „nedostaje“, dakle vrijednost koju je uvoz dodao briše se.
- Kod usluga vraća se cijeli popis onakav kakav je bio prije tog uvoza.
Zaštita od gaženja kasnijih izmjena
Ako je netko u međuvremenu promijenio cijenu koju je taj uvoz upisao, na primjer uvoz je upisao 150 €, a vi ste poslije ručno unijeli 175 €, povrat taj redak ne dira nego ga prijavi kao konflikt i preskoči. Kod usluga, ako je popis mijenjan nakon uvoza, povrat se uopće ne izvodi.
Kako se radi
- U povijesti uvoza kliknite Pregled i vidjet ćete koliko se redaka može vratiti, koliko ih se preskače i koliko proizvoda više ne postoji.
- Kliknite Vrati sidrene cijene prije uvoza i potvrdite. Kod velikog broja proizvoda posao ide u serijama, isto kao uvoz.
- Nakon povrata cjenik se osvježava, a u povijesti piše kada je povrat napravljen i koliko je redaka vraćeno.
Dodatna sigurnost
Na koraku pregleda, prije potvrde uvoza, stoji gumb Preuzmi sigurnosnu kopiju trenutnih cijena. Ta se datoteka može poslije ponovno uvesti kao običan CSV.
Ako se sigurnosna kopija ne može zapisati, na primjer jer mapa za uvoz nije zapisiva, uvoz staje i pita želite li nastaviti bez mogućnosti povrata. Do te potvrde ništa nije upisano.
11Referentni datum i skupna primjena
Svaki proizvod koristi zadani datum iz Postavki (10.09.2026.) osim ako mu je upisan vlastiti datum. Vlastiti datum dolazi iz CSV uvoza, ručnog unosa na proizvodu ili alata za skupnu primjenu.
Alat „Skupno postavi referentni datum“ (Postavke)
| Način | Učinak |
|---|---|
| Proizvodi u odabranim kategorijama | Upisuje odabrani datum svim proizvodima (i varijacijama) u tim kategorijama. Tipično 02.05.2025. za hranu, piće, kozmetiku, čišćenje, toaletne potrepštine i kućanstvo. |
| Svi proizvodi bez eksplicitnog datuma | Upisuje datum samo onima koji ga nemaju. |
| Svi proizvodi | Prepisuje sve, uključujući postojeće datume. Oprez. |
| Ukloni eksplicitni datum iz odabranih kategorija | Vraća proizvode na zadani datum. |
Proizvod koji je postojao na referentni datum, ali tada nije bio na zalihi, zadržava taj referentni datum. Dodatak ne odlučuje koji proizvod spada u koju zakonsku skupinu; kategorije birate vi. Od verzije 4.1.0 označene kategorije se ne upisuju u proizvode: datum prati oznaku, pa ga automatski nosi i proizvod koji kasnije dodate u tu kategoriju.
Koji datum vrijedi za koji proizvod
Od verzije 4.1.0 datum se odlučuje na jednom mjestu, ovim redom:
| Redoslijed | Što znači |
|---|---|
| 1. Vaš upisani datum | Ono što ste upisali na proizvodu ili uvezli CSV-om. Uvijek pobjeđuje; vi odgovarate za taj podatak. |
| 2. Zabilježena prva ponuda | Dan kad je proizvod postao javan, ako je dodatak to vidio i zapisao. |
| 3. Datum označene kategorije (02.05.2025.) | Ako je proizvod u kategoriji koju ste označili kao obuhvaćenu ranijim pravilima. Ne upisuje se u proizvod, nego prati oznaku. |
| 4. Zadani datum iz Postavki (10.09.2026.) | Za sve ostalo. |
Između druge i treće stavke vrijedi kasniji datum: proizvod koji je prvi put ponuđen nakon 02.05.2025. nosi svoj dan prve ponude, a onaj koji je tada već bio u ponudi nosi 02.05.2025..
Proizvod prvi put ponuđen nakon referentnog datuma
Takav proizvod na referentni datum nije bio u ponudi i nema cijenu tog dana. Njegova referentna cijena je cijena prve ponude: dan kad je postao javan, po redovnoj cijeni s PDV-om tog dana.
| Slučaj | Što dodatak radi |
|---|---|
| Dodatak je vidio objavu | Sam zabilježi dan i cijenu prve ponude. Taj zapis je dokaz događaja i više se ne mijenja; vidite ga na proizvodu („Prvi put ponuđeno …“). |
| Dodatak nije vidio objavu (proizvod je stariji od instalacije ili je uvezen) | Ne nagađa. Proizvod se pojavi u popisu proizvoda koji čekaju potvrdu na stranici Proizvodi, s prijedlogom dana i cijene koje vi potvrđujete, ispravljate ili ostavljate. Do potvrde ostaje bez referentne cijene. |
| Vi znate bolje | Upišite datum i cijenu na proizvodu ili uvezite CSV. Vaš unos pobjeđuje i zabilježenu prvu ponudu; ako se razilaze, dodatak to pokaže, ali vas ne zaustavlja. |
Skupni alati više ne upisuju datum preko proizvoda koji je prvi put ponuđen kasnije, i ne predlažu cijenu kao gotovu činjenicu. Koji se datum predlaže ovisi o vašem odgovoru na pitanje o povijesti kataloga: ili datum koji proizvod izvodi iz kategorije i Postavki, ili dan objave u WordPressu. Prijedlog cijene je današnja redovna cijena, osim kad proizvod već ima zapisanu prvu ponudu s cijenom. Sve je samo prijedlog dok ga ne potvrdite.
Što dodatak smatra dokazom
Datum objave u WordPressu nije dokaz kad je roba prvi put bila u ponudi: kod uvoza, migracije ili nove instalacije to je dan kad je proizvod unesen u bazu, a roba se često prodavala godinama prije. Zato dodatak priznaje samo dvije vrste dokaza:
| Vrsta dokaza | Kako nastaje |
|---|---|
| Zapis koji je dodatak sam napravio | Nastaje kad vi u administraciji napravite novi proizvod i objavite ga, ili kad ga zakažete pa ga WordPress objavi u zakazano vrijeme. Samo tada dodatak zna da se objava stvarno dogodila na ovom webu. |
| Vaša potvrda | Kad na popisu proizvodi koji čekaju potvrdu potvrdite dan i cijenu, ili upišete datum na proizvodu, ili ga uvezete CSV-om. |
Sve ostalo ne stvara dokaz, i to namjerno: uvoz proizvoda kroz WooCommerce, REST sučelje (uključujući novi WooCommerce uređivač proizvoda), WP-CLI, brzo uređivanje, skupno uređivanje, spremanje varijacija i svaki program koji piše u bazu. Tada proizvod jednostavno nosi svoj regulatorni datum dok vi ne kažete drukčije. Gubitak zapisa nikoga ne košta; izmišljen zapis bio bi netočna tvrdnja o cijeni iz prošlosti.
U rijetkim slučajevima (tema ili drugi dodatak koji objavljuje proizvode umjesto vas) podrška može isključiti automatsko dokazivanje na webu. Tada vrijedi samo vaša potvrda, a na Pregledu i na svakoj stranici dodatka stoji jasno upozorenje da je isključeno. Postojeći zapisi se i tada ne brišu.
Ako ste dodatak koristili prije verzije 4.1.1, na proizvodima može stajati zapis iz starijih verzija. One su bilježile svaku objavu koju su vidjele, pa i onu koju je napravio uvoz. Takvi zapisi se ne brišu, ali više ne odlučuju o datumu; skupljeni su na popisu „Preporučujemo provjeriti“ na stranici Proizvodi, zajedno s datumima koje su ostavili stari skupni alati. Taj popis ništa ne mijenja sam.
Popis proizvoda koji čekaju potvrdu
Na stranici Proizvodi taj popis skuplja proizvode koji nemaju referentnu cijenu, a dodatak za njih ima što predložiti. Iznad tablice je jedno pitanje o povijesti vašeg kataloga, a odgovor mijenja samo to koji se datum predlaže:
| Odgovor na pitanje o povijesti | Što predlaže |
|---|---|
| Bili su u prodaji na referentni datum | Datum objave u WordPressu se ne koristi. Svaki proizvod nosi datum koji mu daje kategorija ili Postavke (02.05.2025. za označene kategorije, 10.09.2026. za ostale), a vi potvrđujete cijenu. Datum se ne upisuje u proizvod, pa i dalje slijedi kategorije i Postavke. |
| Koristi datume objave iz WordPressa | Proizvod objavljen nakon svojeg referentnog datuma dobiva taj dan zapisan kao dan prve ponude. Ostali dobivaju samo cijenu. |
Ako ste katalog nedavno prenijeli ili uvezli u novi WooCommerce, datumi objave su datumi prijenosa, a ne datumi početka prodaje. Tada je točan prvi odgovor.
Tablica po retku pokazuje dan objave, referentni datum koji proizvod nosi, predloženi datum i cijenu, te rečenicu što će se upisati. Datum i cijenu možete ispraviti prije potvrde. Ako proizvod već ima zapisanu prvu ponudu, cijena se uzima iz tog zapisa i ne mijenja se; samo ako u zapisu nema valjane cijene, predloži se današnja redovna cijena.
Označite retke, cijelu stranicu ili cijeli popis, potvrdite izjavu i kliknite Povuci iz WordPressa i potvrdi. Sve radi u serijama: na Pregledu i na stranici Proizvoda stoji traka napretka, posao se može pauzirati i nastaviti, stranicu smijete zatvoriti, a cijela operacija završi u povijesti uvoza i može se poništiti. Ako za vrijeme posla sami upišete cijenu nekom proizvodu, posao ga preskoči i to vam kaže: vaš unos je noviji od njegovog.
Kad posao završi, na istom ekranu stoji panel „Potvrda je gotova" s četiri brojke: upisano, bez promjene, vi promijenili dok je posao trajao i zapisanih prvih ponuda. Zadnja brojka dolazi iz onoga što je stvarno zapisano, ne iz plana, i ista je vrsta brojke koju na kraju pokazuje i uvoz iz CSV-a. Panel je zelen kad je sve prošlo, a narančast kad je nešto zatražilo pogled; uz njega je poveznica na taj posao u povijesti uvoza, odakle se može poništiti. Iste brojke ostaju kao obavijest ako odete sa stranice ili ju osvježite, a gumb Nastavi sada nestaje kad posao više nema što raditi.
Ništa se ne upisuje dok ne označite izjavu i ne kliknete gumb. Datum objave sam po sebi nikad nije dokaz; dokaz postaje samo kad ga vi potvrdite.
Promjena zadanog datuma
Postavke → Referentni datum. Mijenja datum svim proizvodima koji nemaju vlastiti datum i nisu u označenoj kategoriji. Uobičajeno ostaje 10.09.2026., jer taj datum propisuje Odluka; mijenjajte ga samo ako se propis promijeni. Prije spremanja vidite koliko proizvoda mijenja datum i morate to potvrditi.
12Prikaz kupcu
Ispod aktualne cijene prikazuje se manji redak: Cijena na dan 10.09.2026.: 199,90 €. Tekst mijenjate u Postavkama (Tekst uz cijenu); oznaka {datum} se zamjenjuje datumom tog proizvoda. Kupcu se nikad ne prikazuje izraz „sidrena cijena“.
Veličina, boja i poravnanje. Sve tri odluke o izgledu retka su u Postavkama, na kartici Prikaz kupcu.
| Postavka | Što mijenja |
|---|---|
| Veličina retka | Uvijek ista veličina (zadano) drži redak na istom broju piksela svugdje: dopušteno od 10 do 40 px, zadano 12 px. Prati veličinu glavne cijene drži ga na postotku cijene ispod koje stoji: od 30 do 200 %, zadano 80 %. |
| Boja retka | Prati boju glavne cijene (zadano) uzima boju koju tema daje cijeni, pa se ona smije razlikovati na stranici proizvoda i u popisu. Vlastita boja daje istu boju svugdje, što tema god radila. |
| Poravnanje retka | Automatski (zadano), Lijevo, Sredina ili Desno. Vidi „Ako redak ne stoji dobro u temi" niže. |
Font uvijek ostaje font teme. Okvir Pregled izgleda na istoj stranici pokazuje veličinu i boju prije spremanja; poravnanje se u njemu namjerno ne vidi, jer je okvir pregleda širok točno koliko i redak, pa poravnanje u njemu ne bi imalo što pokazati. Nakon spremanja dodatak očisti cache stranica.
Gdje se prikazuje
Na stranici proizvoda, u shopu, kategorijama, pretrazi, povezanim proizvodima, upsell i cross-sell blokovima, u Elementor WooCommerce widgetima i u blok temama.
Teme koje cijenu ispišu više puta. Neke teme (na primjer Woodmart) na stranici proizvoda cijenu ispisuju na više mjesta: u malom navigacijskom pregledu proizvoda, u ljepljivoj traci s gumbom za kupnju i uz glavnu cijenu. Redak ide uz glavnu cijenu, a dodatak ju bira po mjestu na stranici, ne po redoslijedu: prvo cijenu u sažetku proizvoda, pa cijenu koja stoji uz obrazac za odabir varijante. Cijene u navigacijskim pregledima, ljepljivim trakama, povezanim proizvodima te upsell i cross-sell blokovima pritom ne dolaze u obzir. Isto pravilo vrijedi kad kupac odabere varijantu: mijenja se redak uz glavnu cijenu, a ne kopija negdje drugdje na stranici.
Varijabilni proizvod. Referentna cijena stoji na svakoj varijaciji. Dok varijacija nije odabrana, proizvod prikazuje ono u čemu se njegove vidljive varijacije slažu:
- sve imaju istu referentnu cijenu i isti datum: običan redak, npr. Cijena na dan 10.09.2026.: 24,00 €;
- isti datum, različite cijene: raspon, npr. Cijena na dan 10.09.2026.: 24,00 € - 30,00 €;
- varijacije imaju različite referentne datume, ili je dio njih označen kao „Nije primjenjivo“: Cijena na dan - ovisno o varijanti, bez iznosa, jer nijedan broj ne bi vrijedio za cijeli proizvod;
- ijedna vidljiva varijacija nema referentnu cijenu: redak se ne prikazuje dok je ne unesete.
Redak stoji točno jednom po mjestu prikaza i kod varijabilnog proizvoda s rasponom cijena, gdje tema cijenu gradi i za roditelja i za svaku varijaciju.
Čim kupac odabere varijaciju, prikazuje se redak te varijacije, s njezinim datumom i njezinom cijenom. Računaju se samo varijacije koje trgovina stvarno prikazuje: nacrti, privatne i (ako tako imate postavljeno) rasprodane ne utječu na prikaz.
Kad je varijabilni proizvod na akciji, ispod cijene mogu stajati dva retka: prvo najniža cijena u posljednjih 30 dana, a ispod nje ovaj redak referentne cijene; pravila za prvi od njih opisuje poglavlje Najniža cijena u 30 dana prije sniženja.
Kad se ne prikazuje
- Proizvod nema referentnu cijenu (status Nedostaje ili Nije bio u ponudi).
- Cjenik proizvoda još nije aktiviran.
- Tema ne koristi standardni WooCommerce ispis cijene. Tada ubacite shortcode ili PHP poziv (ispod).
- Tema na tom mjestu skriva samu cijenu. Redak se tada skriva s njom; vidi „Zašto se redak ne vidi u nekoj kartici" ispod.
Ako redak ne stoji dobro u temi
Redak je zamišljen kao vlastiti red ispod cijene i u većini tema tako i stoji. Ne stoji kad tema ili graditelj stranica (Elementor, ShopEngine) cijenu stavi u raspored tipa flex ili grid: tada redak može ostati u istom redu s cijenom, razvučen ili centriran, a ne točno pod njom.
Uz Poravnanje retka: automatski dodatak takav raspored prepozna sam i retku da vlastiti red pune širine, s poravnanjem kakvo u tom rasporedu ima cijena. To radi i za retke koji nastanu kasnije (lijeno učitani popisi, karuseli, AJAX filtri arhive, odabir varijante) i ponovno kad se promijeni širina prozora, jer tema može biti flex na širokom a običan blok na mobilnom ekranu. Kad cijena nije ni u flex ni u grid rasporedu, dodatak ne dira ništa.
Ako vam ni tako ne stoji dobro, u Postavkama odaberite Lijevo, Sredina ili Desno. Time je odlučeno: redak je poravnat tako svugdje, a automatika se gasi. Tipičan slučaj za ručni odabir je grid s više stupaca u kojem cijena drži samo prvi stupac, jer automatika tada poravnava po cijelom redu, a ne po tom stupcu.
Zašto se redak ne vidi u nekoj kartici
Vrijedi pravilo: redak nikad nije vidljiviji od cijene uz koju stoji. Ima tema koje cijenu u kartici ne uklone nego sakriju: postave joj veličinu slova ili visinu retka na nulu, prozirnost na nulu ili ju odrežu. Redak ima vlastitu veličinu iz Postavki, pa tu nulu ne bi naslijedio: dobio bi visinu i otkrio prazan okvir ili tamnu traku koju kupac nije trebao vidjeti.
Zato dodatak gleda cijenu uz koju redak stoji i, dok je ona sakrivena, sakrije i redak. Čim je cijena vidljiva, redak se vraća sam, bez osvježavanja stranice. To uključuje i teme koje cijenu pokažu tek dok je miš nad karticom i one koje ju prikažu postupnim pojavljivanjem. Precrtana stara cijena se pritom ne broji: nju teme skrivaju dok je nova cijena normalno vidljiva. Redak koji je sakrio netko drugi (sama tema ili obrazac za odabir varijante) dodatak ne dira i ne prisvaja.
Za podršku to znači: redak koji se u nekoj kartici ne vidi obično nije greška dodatka, nego mjesto na kojem ni cijena nije vidljiva. Prvo provjerite vidi li se u toj kartici cijena. Ako se cijena vidi a retka nema, uzrok je drugdje, pogledajte „Kad se ne prikazuje" iznad i poglavlje o rješavanju problema.
Što ovo ne hvata: cijenu koju je tema odvukla izvan ekrana i cijenu obojanu u boju podloge. Takvu cijenu dodatak ne može pouzdano prepoznati kao sakrivenu, pa redak uz nju ostaje vidljiv.
Za graditelje stranica i prilagođene teme
- Shortcode
[sidrena_cijena_proizvoda](na stranici proizvoda) ili[sidrena_cijena_proizvoda product_id="123"]. - PHP:
echo scwh_get_reference_price_html();u predlošku teme. - Izgled: CSS klase
.scwh-anchor-price(cijeli redak) i.scwh-anchor-label(tekst). Zadani stil je manji, sekundaran i nasljeđuje font teme; tema ga može slobodno prepisati.
13Najniža cijena u 30 dana prije sniženja
Kad je proizvod na posebnom obliku prodaje (akciji), uz cijenu mora stajati i najniža cijena koju je taj proizvod imao u 30 dana prije početka te akcije. Dodatak to vodi sam: bilježi svaku promjenu cijene, a iznos izračuna u trenutku u kojem akcija počne. Redak koji kupac vidi glasi Najniža cijena u posljednjih 30 dana - 199,90 € i stoji ispod aktualne cijene, iznad retka referentne cijene Cijena na dan 10.09.2026.: 199,90 €, koji ostaje nepromijenjen; vidi Prikaz kupcu.
U administraciji je isti podatak imenovan precizno, Najniža cijena u 30 dana prije sniženja, jer vama treba znati koje je razdoblje izmjereno. Kupcu ide kraća i uobičajena formulacija; iznos je u oba slučaja isti.
Što se promijenilo u verziji 4.2.0. Do verzije 4.1.11 razdoblje se stalno pomicalo i završavalo u trenutku u kojem kupac gleda stranicu. To je ukinuto: razdoblje je vezano na početak akcije, a iznos se zamrzne kad akcija počne i vrijedi kroz cijelo njezino trajanje.
Što se promijenilo u verziji 4.2.2. Redak više ne izostaje kad se najniža cijena ne može dokazati. Proizvod na akciji ga uvijek nosi, a iznos je tada bruto redovna cijena proizvoda kao zamjena, uz oznaku izvora na proizvodu i uputu da točan iznos upišete. Verzije 4.2.0 i 4.2.1 su u tom slučaju šutjele.
Što se promijenilo u verziji 4.2.3. Tekst koji kupac čita je Najniža cijena u posljednjih 30 dana. Mijenja se samo formulacija oznake; iznos je i dalje izmjeren za 30 dana prije početka akcije i zamrznut kroz njezino trajanje, kako je uvedeno u 4.2.0.
Kako se razdoblje računa
- Razdoblje je 30 dana prije početka akcije: počinje 30 dana prije tog trenutka i završava u trenutku u kojem je akcija počela. Cijena koju proizvod nosi u akciji nikad ne ulazi u vlastiti izračun.
- Iznos se izračuna kad akcija počne i zamrzne za cijelo trajanje akcije. Kupac cijelo vrijeme vidi isti broj.
- Uračunava se i cijena koja je vrijedila na početku razdoblja, iako se unutar njega nije mijenjala. Primjer: cijena je 100,00 € i nije se mijenjala 60 dana, pa počinje akcija na 70,00 €. Najniža cijena u 30 dana prije sniženja je 100,00 €.
- Progresivno sniženje: cijena je bila 100,00 €, pa 80,00 €, pa ponovno 100,00 €, a onda počinje akcija na 70,00 € i kasnije se snizi na 60,00 €. Prikazuje se 80,00 €, jer je to najniža cijena koja je vrijedila prije akcije. Ostaje 80,00 € dok akcija traje, i nakon svake promjene akcijske cijene.
- Akcija dulja od 30 dana i dalje pokazuje 80,00 €. Razdoblje se ne pomiče s protekom dana, pa iznos ne može ni porasti ni pasti sam od sebe.
- Razdoblje se mjeri u vremenskoj zoni trgovine, pa je 30 dana i kad u njih padne prelazak na zimsko ili ljetno vrijeme.
Što je ista akcija, a što nova
- Ista akcija, isti iznos: promjena akcijske cijene (sa 70,00 € na 60,00 €, ili sa 70,00 € na 75,00 € i natrag na 70,00 €) i produženje datuma kraja akcije. Ni povećanje akcijske cijene nije prekid akcije.
- Nova akcija, novi izračun: akcija stvarno završi, a kasnije počne nova. Nova akcija dobiva novo razdoblje od 30 dana prije svog početka, a u to razdoblje ulaze i cijene koje su stvarno vrijedile u prethodnoj akciji.
Kad se prikazuje
- Samo dok je proizvod na posebnom obliku prodaje. Proizvod koji nije na akciji ne dobiva redak, a povijest mu se i dalje bilježi.
- Na proizvodu koji je na akciji redak nikad ne izostaje, uz dvije iznimke: proizvod je označen kao Poseban režim (izuzeće za lako pokvarljivu robu i robu kojoj brzo istječe rok), ili WooCommerce za njega ne navodi redovnu cijenu, pa nema od čega bi se sniženje računalo.
- Redak stoji i dok dodatak ne prati cijene (istekla licenca, isključeno Automatski prati promjene cijena u Postavkama na kartici Povijest cijena, nedovršen setup), ali tada nosi redovnu cijenu kao zamjenu. Na novoj instalaciji je praćenje uključeno; ako ga isključite, zabilježeni podaci ostaju.
- Dok dodatak ne prati cijene ne prikazuje se stari zamrznuti izmjereni iznos, jer opisuje prozor koji odonda nitko ne gleda, a trgovina je u međuvremenu mogla naplaćivati druge cijene. Redovna cijena je živ podatak iz WooCommercea. Izmjereni iznos ostaje spremljen i vidite ga na proizvodu.
- Bilježi se samo ono što je trgovina stvarno nudila: objavljeni proizvodi i objavljene varijacije. Nacrt koji ste uređivali nikome nije prikazao cijenu, pa ne ulazi u povijest.
Odakle dolazi iznos
Tri su moguća izvora i redoslijed je uvijek ovaj:
| Izvor | Kada vrijedi |
|---|---|
| 1. Izmjerena povijest | Cijene koje je dodatak sam zabilježio. Iznos je izračunat kad je akcija počela i zamrznut za cijelo njezino trajanje. Ima prednost pred iznosom koji ste upisali ručno. Na proizvodu piše „Izračunato iz dnevnika cijena kad je ova akcija počela i zamrznuto dok traje“. |
| 2. Vaš iznos | Ono što ste upisali u polje Najniža cijena u 30 dana prije sniženja (ručno). Vrijedi dok zabilježena povijest ne može dati odgovor i ima prednost pred zamjenskim iznosom; kad povijest odgovori, vaš iznos ostaje spremljen ali se ne koristi, i dodatak vam to na proizvodu i napiše. Na proizvodu piše „Ručno uneseno“. |
| 3. Zamjenski iznos | Bruto redovna cijena proizvoda iz WooCommercea. Vrijedi kad ciklus nema dokaz (povijest ne pokriva 30 dana prije početka akcije, ili je akcija već trajala kad je dodatak nadograđen) ili kad dodatak ne prati cijene. Nije mjerenje tih 30 dana, pa nosi upozorenje: na proizvodu piše da je izvor redovna cijena (regular_bootstrap) i da ste za točnost odgovorni vi. |
Dokazana povijest ima prednost pred vašim iznosom, a oba imaju prednost pred zamjenskim iznosom. Na kartici proizvoda, u dijelu s cijenama, uvijek piše koji iznos kupac sada vidi i odakle dolazi, pa se izmjereni, ručni i zamjenski iznos ne mogu pomiješati.
Ako se najniža cijena ne može dokazati
Ako zabilježena povijest ne pokriva 30 dana prije početka akcije, ili je akcija već trajala kad je dodatak nadograđen, iznos nije izmjeren. Redak se i tada prikazuje, a u njemu stoji redovna cijena proizvoda kao zamjena. Kupac vidi isti tekst kao i inače, Najniža cijena u posljednjih 30 dana, a dodatak vam na proizvodu napiše da je iznos zamjena, odakle dolazi i što učiniti.
Za točnost iznosa odgovarate vi. Redovna cijena nije mjerenje tih 30 dana, nego ono što trgovina sama izjavljuje da naplaćuje izvan akcije. Ako je u 30 dana prije akcije stvarno vrijedila niža cijena, morate je upisati ručno ili uvesti povijest cijena; inače kupac vidi veće sniženje od stvarnog. Dodatak nikad ne izmišlja iznos i zamjenski iznos nikad ne predstavlja kao izmjeren podatak.
Dvije su iznimke u kojima ni zamjene nema. Na proizvodu koji je označen kao Poseban režim i na proizvodu za koji WooCommerce ne navodi redovnu cijenu redak se kupcu ne prikazuje. Kod proizvoda bez redovne cijene nema od čega bi se sniženje računalo, pa vam dodatak na proizvodu napiše da iznos upišete sami.
Dva su načina da takav proizvod dobije dokazan iznos:
- Uvoz povijesti cijena (Postavke, kartica Povijest cijena): upišete stvarne cijene iz prošlosti i dodatak sam popravi zamrznuti iznos akcije koja traje. Početak akcije se pri tome ne pomiče.
- Ručni unos iznosa na proizvodu: upišete iznos u polje Najniža cijena u 30 dana prije sniženja (ručno) na proizvodu ili na varijaciji. Vaš iznos odmah zamijeni zamjenski.
Gdje vidite proizvode sa zamjenskim iznosom
- Na Pregledu (nadzornoj ploči) brojač Na akciji sa zamjenskom najnižom cijenom, s brojem takvih proizvoda. Brojač je informativan: ništa ne blokira, nijednu akciju ne zaustavlja i nijednu cijenu ne mijenja, samo kaže uz koje proizvode stoji zamjenski iznos.
- Trajna obavijest u administraciji, koja stoji dok popis nije prazan i ne može se odbaciti klikom.
- Popis tih proizvoda, s poveznicama na uređivanje, u Postavkama na kartici Povijest cijena, odmah iznad uvoza povijesti. Broj je točan jer ga broji pozadinski posao koji obilazi cijeli katalog, a popis je uzorak do 500 proizvoda i tako je i označen.
- Nakon nadogradnje administrator dobije jedan e-mail s brojem takvih proizvoda i uputom: uvoz povijesti ili ručni unos.
TREBA PROVJERITI. Za proizvod koji je u prodaji kraće od 30 dana dodatak ne nagađa: status je „nema dovoljno podataka“, uz cijenu stoji redovna cijena kao zamjena, a ručni unos je omogućen. Provjereni tekst članka 19. za taj slučaj nema zasebno pravilo, pa dodatak ne izvodi vlastito. Ako od knjigovodstva ili pravnika dobijete tumačenje za takve proizvode, iznos upišite ručno.
Izvor početka akcije
Na proizvodu, ispod naslova Najniža cijena u 30 dana prije sniženja, piše kad se akcija računa kao započeta i odakle taj podatak dolazi. To je važno jer razdoblje od 30 dana visi o tom trenutku.
| Piše na proizvodu | Što znači |
|---|---|
| zakazano u WooCommerceu | Akcija ima upisan datum početka u WooCommerceu i taj datum je već prošao. To je najpouzdaniji izvor: vrijedi i kad je pozadinski posao koji akciju primjenjuje zakasnio nekoliko minuta ili dan. |
| zabilježeno kad je akcija počela | Akcija nije imala upisan datum početka, ali je dodatak bio uključen i vidio trenutak u kojem je cijena pala. |
| izvedeno iz dnevnika | Početak je naknadno utvrđen iz zabilježene povijesti: zadnji pad na cijenu koja sada vrijedi, s više cijene prije njega. |
| izvedeno iz dnevnika pri nadogradnji | Isto, ali utvrđeno u jednokratnom prolazu pri nadogradnji na verziju 4.2.0. |
| akcija je već trajala kad je dodatak nadograđen | Početak se nije mogao utvrditi. Za takvu akciju se razdoblje od 30 dana ne može izmjeriti, iznos se ne računa i ne popravlja se ni uvozom povijesti; kupcu se prikazuje redovna cijena kao zamjena dok ne upišete iznos ručno. |
Što se dogodilo pri nadogradnji na 4.2.0
- Proizvodima i varijacijama koji su u trenutku nadogradnje bili na akciji akcija je rekonstruirana u pozadini, u serijama, pa se ni na velikom katalogu ništa nije zaustavilo. Prolaz se smije prekinuti i nastaviti, i ne stvara akciju dvaput.
- Ništa se nije obrisalo iz zabilježene povijesti i nijedna WooCommerce cijena nije promijenjena.
- Gdje se početak akcije nije mogao utvrditi, redak i dalje stoji, ali s redovnom cijenom kao zamjenom dok ne upišete iznos.
- Iznosi koje ste ranije upisali ručno i dalje vrijede i nisu dirani.
Gdje upisujete vlastiti iznos i gdje označavate izuzeće
Na proizvodu, u dijelu s cijenama, ispod naslova Najniža cijena u 30 dana prije sniženja:
- Najniža cijena u 30 dana prije sniženja (ručno): vaš iznos, s PDV-om. Ostavite prazno da vrijedi povijest, a ako povijest ne može odgovoriti, zamjenski iznos.
- Poseban režim: kvačica za lako pokvarljivu robu i robu kojoj brzo istječe rok uporabe. Dok je označena, kupcu se ne prikazuje ništa, a polje za ručni iznos se ni ne pokazuje.
Iznad tih polja dodatak napiše koji iznos kupac sada vidi i odakle dolazi: izračunato iz dnevnika cijena, ručno uneseno ili redovna cijena kao zamjena. Tu se vidi i izmjereni iznos koji je spremljen a trenutno se ne koristi, pa ništa nije skriveno.
Kod varijabilnog proizvoda ta polja stoje na svakoj varijaciji, u njezinom dijelu s cijenama, a ne na roditelju. Povijest se bilježi po varijaciji, jer varijabilni roditelj nema vlastitu cijenu. Dok proizvod nije na akciji, na njemu piše samo što bi akcija koja počne sada zamrznula; to je najava, ne iznos koji negdje stoji.
Varijabilni proizvod
Roditelj nema vlastitu cijenu ni vlastitu povijest, pa redak prije odabira varijante nije njegov odgovor nego sažetak vidljivih varijacija. Sažetak se prikazuje samo onda kad WooCommerce na roditelju sam objavi sniženje, a čita zamrznute iznose varijacija, iste one koje kupac vidi na samoj varijaciji.
- Sve vidljive varijacije imaju istu aktualnu i istu redovnu cijenu, a proizvod je na akciji: WooCommerce uz roditeljsku cijenu precrta staru cijenu, pa redak ima uz što stajati. Prikazuje se najniža od zamrznutih cijena varijacija, jer je to jedini zajednički iznos koji ne može preuveličati sniženje.
- Varijacije se razlikuju po cijeni: roditelj prikazuje raspon, ne objavljuje sniženje, i redak se ne prikazuje. Isto vrijedi kad je aktualna cijena ista a redovne se razlikuju.
- Ijedna vidljiva varijacija nema odgovor: označena je kao Poseban režim ili joj WooCommerce ne navodi redovnu cijenu. Tada roditelj šuti, jer jedan iznos ne bi vrijedio za cijeli proizvod. Varijacija bez izmjerenog i bez vašeg iznosa ima odgovor, jer nosi zamjenski iznos.
- Roditelj ne objavljuje sniženje: nema retka, pa i kad su same varijacije snižene.
Roditelj nikad ne izmišlja zajednički iznos i sažimanjem ništa ne bilježi. Čim kupac odabere varijantu, sažetak roditelja se skloni i prikazuje se redak te varijacije, s njezinim iznosom. Isto vrijedi na stranici proizvoda i na kartici u kategoriji, jer se redak ispisuje na istom mjestu na kojem WooCommerce ispisuje cijenu.
Računaju se samo varijacije koje trgovina stvarno prikazuje: nacrti, privatne i (ako tako imate postavljeno) rasprodane ne utječu na sažetak. Varijacija kojoj WooCommerce ne može odrediti cijenu ne ulazi u sažetak i ne ušutkava ga, jer ju trgovina ni ne prodaje.
Redak najniže cijene i redak referentne cijene su neovisni: proizvod kojemu referentni redak šuti ili javlja „ovisno o varijanti“ može i dalje prikazivati najnižu cijenu, i obrnuto.
Uvoz povijesti cijena
Ako stvarne cijene iz prošlosti već imate, iz kase, iz izvoza ili sa starog weba, ne morate čekati da se povijest izgradi sama. U Postavkama, na kartici Povijest cijena, panel Uvoz povijesti cijena prima CSV s tri stupca: SKU, Datum i Cijena. Datum se piše u obliku 2026-09-10 i ne smije biti u budućnosti, cijena ide s PDV-om jer se i zabilježena povijest vodi s PDV-om, a šifra se traži i među proizvodima i među varijacijama.
- Preuzmi CSV predložak daje datoteku sa zaglavljem i dva primjera.
- Analiziraj pokaže koliko je zapisa pročitano, za koliko proizvoda, i koji se redovi preskaču i zašto. Do vaše potvrde ništa nije upisano.
- Uvezi upisuje, a prije upisa spremi kopiju povijesti kakva je bila. Zato se uvoz može vratiti gumbom Poništi zadnji uvoz.
Uvezeni datum stariji od početka praćenja pomiče početak praćenja natrag, jer time izjavljujete da za to razdoblje imate stvarne podatke. Ista se datoteka smije uvesti dvaput: zapis koji je već tu ne mijenja ništa.
Ako uvoz dopuni razdoblje prije početka akcije koja traje, dodatak sam ispravi zamrznuti iznos, a početak akcije ostaje isti. Ispravak se zapisuje, pa se kasnije vidi koji je iznos bio prije, koji je sada i zašto se promijenio. Akcija kojoj se početak nije mogao utvrditi se uvozom ne popravlja, jer se ne zna od kojeg trenutka bi se razdoblje mjerilo.
Koliko je povijesti dodatak zabilježio
U Postavkama, na kartici Povijest cijena, traka pokazuje koliko je dana povijesti zabilježeno u odnosu na 30 dana. Ispod je stanje kataloga, s brojem praćenih proizvoda, onih s punom poviješću, onih koji povijest još grade, onih na iznosu koji ste upisali sami i onih na akciji sa zamjenskom najnižom cijenom. Te brojke broji pozadinski posao, ne otvaranje stranice, pa se osvježavaju s odmakom.
Što prekida ili briše povijest
- Kopija proizvoda ne nasljeđuje ni povijest, ni vaš ručni iznos, ni oznaku posebnog režima, ni zamrznuti iznos akcije. Duplikat je novi proizvod i počinje od nule.
- Promjena vrste proizvoda briše povijest i ručni iznos, jer su opisivali drugi model cijena. Oznaka posebnog režima ostaje, jer ona govori kakva je roba.
- Promjena valute trgovine počinje novu povijest: iznos od 100 u jednoj valuti i 100 u drugoj nisu ista cijena.
- Isključivanje i ponovno uključivanje praćenja zatvara jedno razdoblje i otvara novo. Pokrivenost tada priznaje prekid i ne popunjava ga.
- Proizvod koji je bio izvan ponude pa se vratio nastavlja bilježiti od povratka, jer se cijena mogla promijeniti dok nitko nije gledao.
Zapisi koje akcija koja traje treba za svoje razdoblje se ne brišu ni nakon isteka uobičajenog roka čuvanja povijesti, da se zamrznuti iznos kasnije može provjeriti.
Pravni temelj
Parafraza, ne citat: Zakon o zaštiti potrošača, članak 19. stavak 1. i stavak 4., u izmjeni objavljenoj u NN 59/2026 dana 9.6.2026. i na snazi od 17.6.2026. Za posebni oblik prodaje relevantna je najniža cijena koju je trgovac primjenjivao za isti proizvod u 30 dana prije provođenja tog posebnog oblika prodaje, a ta cijena je referentna cijena tijekom njegovog trajanja. Stavak 5. izuzima lako pokvarljivu robu i robu kojoj brzo istječe rok uporabe; za takvu robu je u dodatku kvačica Poseban režim.
Tekst propisa pročitajte u Narodnim novinama. Dodatak pokriva tehnički dio: bilježi cijene, izračuna iznos, zamrzne ga i prikaže redak. Dodatak ne daje pravno jamstvo i ove upute nisu pravni savjet; vidi i poglavlje Zakonski okvir ukratko.
Dodatak nikad ne mijenja cijene u WooCommerceu i nikad ne blokira akciju. Ako je akcijska cijena viša ili jednaka najnižoj cijeni iz 30 dana prije sniženja, na proizvodu stoji samo napomena da to provjerite.
14Cjenik (CSV) i javne poveznice
| Poveznica | Sadržaj |
|---|---|
/cjenik-arhiva/ | Javna HTML stranica s cjenikom. Kad su aktivni i proizvodi i usluge, na vrhu su tabovi i svaki ima svoju adresu (?cjenik=proizvodi, ?cjenik=usluge); prikazuje se samo odabrani cjenik pa se stranica brzo otvara i kod velikog kataloga. Ispod svakog cjenika je popis prethodno objavljenih verzija, a uz gumb Preuzmi aktualni CSV stoji i poveznica Pregledaj arhivu cjenika koja skače na taj popis. Poveznice nema dok arhiva ne dobije prvu raniju objavu. |
/cjenik-arhiva/cjenik-proizvoda/ | Aktualni CSV cjenik proizvoda (preuzimanje). |
/cjenik-arhiva/cjenik-usluga/ | CSV cjenik usluga. |
/cjenik-arhiva/cjenik-usluga/{poslovnica}/ | CSV cjenik jedne poslovnice (4.0.0); adresa bez naziva poslovnice je poslovnica 1. Javna stranica poslovnice: ?cjenik=usluge&poslovnica={poslovnica}. |
/cjenik-arhiva/arhiva/{id}/ | Pojedini snapshot iz arhive. |
Poveznice rade bez prijave, nisu blokirane za automatizirane alate i mogu se staviti u podnožje weba. Tablicu možete ugraditi i na vlastitu stranicu shortcodeom [sidrena_cijena_cjenik] (ili type="products" / type="services").
Stupci CSV-a proizvoda
| Stupac | Sadržaj |
|---|---|
| naziv | Naziv proizvoda; kod varijacije naziv roditelja + atributi. |
| sifra | Vlastiti SKU proizvoda ili varijacije (varijacija bez SKU-a ima prazno polje, ne nasljeđuje roditeljev). |
| marka | Iz WooCommerce Brands, atributa ili meta polja (Postavke). |
| jedinica_mjere, cijena_za_jedinicu_mjere | Ako je uključena jedinična cijena i uneseni podaci. |
| maloprodajna_cijena | Aktualna cijena s PDV-om (akcijska ako je akcija aktivna). |
| posebni_oblik_prodaje, naziv_posebnog_oblika | „da“ i naziv akcije kad je proizvod na akciji. |
| sidrena_cijena | Referentna cijena; prazno ako nedostaje. |
| barkod | EAN/GTIN; prazno ako nedostaje. |
| dostupnost | „dostupno“ / „nedostupno“ prema zalihi. |
Format: UTF-8, razdjelnik ;, decimalni zarez. U cjenik ulaze objavljeni jednostavni proizvodi i objavljene varijacije objavljenih varijabilnih proizvoda. Proizvod bez WooCommerce cijene se izostavlja i prijavi na Pregledu. Aktualna cijena je cijena proizvoda kako je WooCommerce prikazuje (akcijska ako je akcija aktivna, uključujući zakazane akcije), nikad redovna cijena. Dodaci za popuste koji mijenjaju cijenu proizvoda kroz standardne WooCommerce filtere bit će vidljivi; dodaci koji popust primjenjuju tek u košarici ili kroz vlastite mehanizme nisu. Ako koristite takav dodatak, obavezno usporedite cijenu u CSV-u s cijenom na stranici proizvoda prije objave.
Dohvaćanje u realnom vremenu
Uz CSV koji se osvježava nekoliko minuta nakon promjene, postoji i živi upit po šifri koji podatke čita izravno iz WooCommercea u trenutku poziva: /cjenik-arhiva/proizvod/{SKU}/. Vraća JSON s aktualnom cijenom, oznakom akcije, referentnom cijenom i datumom, barkodom i dostupnošću. Bez prijave, bez cachea. Vraća isključivo javno objavljene proizvode: nacrti, privatni, obrisani i lozinkom zaštićeni proizvodi te varijacije neobjavljenih roditelja daju 404. Šifre s posebnim znakovima (razmak, %, +, hrvatska slova) zapišite URL-kodirano; šifru koja sadrži „/“ dohvatite oblikom /?scwh_sku=…. Primjer: https://vasa-domena.hr/cjenik-arhiva/proizvod/MAJ-001/. Uz to, WooCommerce Store API (/wp-json/wc/store/v1/products) je javan i također vraća cijene u realnom vremenu, uključujući redak s referentnom cijenom.
Aktualni cjenik i dnevni snapshot
Snapshot se stvara jednom dnevno u zadano vrijeme (Postavke, zadano 06:30) ili gumbom na Pregledu; dobiva broj pohrane i naziv datoteke po propisu, kopira se u arhivu i čuva 35 dana. Aktualni cjenik je ista vrsta datoteke koja se nakon relevantne promjene (cijena, akcija, dostupnost, novi ili uklonjeni proizvod, referentna cijena) automatski regenerira jednom, zadano 5 minuta kasnije. Narudžbe koje samo smanjuju zalihu ne pokreću regeneraciju.
15Automatizacija (cron)
Dodatak sam odlučuje što je na redu: dnevni snapshot nakon zadanog vremena ako ga danas još nema, osvježavanje aktualnog cjenika ako je bilo promjena, čišćenje arhive. Postoje tri načina pokretanja.
Vremenska zona i ljetno/zimsko računanje vremena
Cjenik mora biti objavljen prije 08:00 po hrvatskom vremenu, a dodatak sva vremena (dnevni snapshot, vrijeme u nazivu datoteke, datume u cjeniku) računa po vremenskoj zoni web-stranice.
- U Postavke → Općenito → Vremenska zona odaberite hrvatsku vremensku zonu (Croatia).
- Nemojte birati fiksni „UTC+1“ ni „UTC+2“. Hrvatska zimi ima UTC+1, a ljeti UTC+2 (ljetno računanje vremena traje od zadnje nedjelje u ožujku do zadnje nedjelje u listopadu). Fiksni pomak ne prati tu promjenu, pa bi vam pola godine snapshot nastajao sat vremena ranije ili kasnije nego što mislite - a rok od 08:00 ne pomiče se.
- Ako na Pregledu piše da vremenska zona nije hrvatska, dodatak i dalje radi, ali provjerite nastaje li dnevni snapshot prije 08:00 po hrvatskom vremenu.
- Promjena vremenske zone ne dira već objavljene cjenike ni arhivu; primjenjuje se na sljedeću objavu.
Ako ne znate što je cron - pošaljite ovo svom hostingu
Najbrži put je da to napravi vaš hosting; njima je to posao od dvije minute. Na Pregledu, u kartici Automatizacija, kliknite Kopiraj poruku za hosting i zalijepite je u mail podršci. Poruka izgleda ovako:
Poštovani, za web stranicu vasa-domena.hr trebamo cron job koji se pokreće svakih deset minuta i poziva ovu adresu: curl -fsS "https://vasa-domena.hr/?scwh_cron=TOKEN" > /dev/null Koristi ga dodatak Sidrena Cijena kako bi dnevni cjenik bio objavljen na vrijeme (rok je 08:00). Poziv je kratak i ne opterećuje poslužitelj. Hvala.
U kopiranoj poruci adresa je već ispunjena vašim tokenom, pa ništa ne morate mijenjati. Token je tajan koliko i lozinka za objavu - ne objavljujte ga javno; hostingu ga smijete poslati.
Ili sami, u cPanelu (tri klika)
- U cPanelu otvorite Cron Jobs.
- Pod Common Settings odaberite Once per ten minutes (
*/10 * * * *). - U polje Command zalijepite naredbu koju ste kopirali gumbom Kopiraj naredbu na Pregledu i spremite s Add New Cron Job.
U Plesku je isto pod Scheduled Tasks → Fetch a URL: zalijepite samo adresu, bez curl dijela. Nakon što cron proradi, na Pregledu se u kartici Automatizacija pojavi vrijeme pod Zadnji poziv server crona.
| Način | Kako |
|---|---|
| Server cron (preporučeno za produkciju) | Pravi cron na poslužitelju poziva cron URL s Pregleda svakih 5–15 minuta. Ne ovisi o posjetima webu. Primjer unosa u crontab: */10 * * * * curl -fsS "https://vasa-domena.hr/?scwh_cron=TOKEN" > /dev/null U cPanelu: Cron Jobs → naredba iznad. U Plesku: Scheduled Tasks → Fetch a URL. Može i vanjski servis (npr. cron-job.org, UptimeRobot) koji poziva URL. |
| WP-CLI | wp sidrena-cijena run (što je na redu), snapshot, refresh, status. Također iz server crona. |
| WP-Cron (rezerva) | Ugrađeni WordPress mehanizam koji radi samo kad netko posjeti web. Na webu s malo posjeta noću snapshot može kasniti. Zato postoji i catch-up: kad se prvi posjet dogodi nakon zadanog vremena, snapshot se zakaže odmah. |
Provjera zdravlja
Panel Automatizacija na Pregledu pokazuje: je li današnji snapshot napravljen, sljedeći WP-Cron termin, zadnje izvršavanje (tko ga je pokrenuo: wp-cron, external, cli, manual), kada je zadnji put viđen server cron. Status je crven ako snapshot nakon 08:00 ne postoji ili je WP-Cron isključen bez server crona, žut ako radi samo WP-Cron.
Cron URL i token
URL sadrži tajni token, na ekranu je maskiran (gumb Prikaži ga otkriva, Kopiraj kopira cijeli). Ako ga netko sazna, može samo pokrenuti provjeru „što je na redu“: snapshot se radi najviše jednom dnevno, osvježavanje samo kad ima promjena i tek nakon isteka odgode, pa ponavljanje poziva ne može opteretiti server. U Postavkama → Automatizacija možete generirati novi token; tada ažurirajte i server cron. Poziv s krivim tokenom vraća 403.
Promjena vremena snapshota
Postavke → Generiranje cjenika → Vrijeme dnevnog snapshota (lokalno vrijeme). Ostavite dovoljno rezerve prije 08:00.
Ako je sve postavljeno, a dnevni cjenik ipak nije objavljen, pogledajte sljedeće poglavlje: Zašto dnevni cjenik nije objavljen - najčešći uzroci.
16Zašto dnevni cjenik nije objavljen - najčešći uzroci
Rok je 08:00, a dnevni cjenik nije objavljen. U gotovo svim slučajevima razlog je isti: ugrađeni WordPress mjerač vremena (WP-Cron) nije pravi sat. On se ne pokreće sam u zadano vrijeme, nego tek kad netko posjeti web - i to tako da stranica pošalje HTTP zahtjev samoj sebi (to se zove loopback).
Ako taj poziv stranice prema samoj sebi nešto blokira, ili ako tog posjeta uopće nije bilo, ništa se ne objavi. Najneugodnije je to što se izvana ne vidi ništa: web se posjetiteljima otvara normalno cijelo vrijeme, pa problem primijetite tek na Pregledu ili kad vas netko pita za cjenik.
Ispod su uzroci redom, od najčešćeg prema rjeđima.
U Cloudflare nadzornoj ploči, za svoju domenu, ovim redom:
- Prvo provjerite „Under Attack“ način (Security → Settings, razina sigurnosti). Uključuje se privremeno kad je web pod napadom i blokira baš sve automatske pozive, pa i one koje web šalje sam sebi. Ako je uključen, isključite ga - u praksi je to najčešći uzrok, a i najbrže se provjeri.
- Security → Bots: isključite Bot Fight Mode. Ta postavka nema iznimke po putanji, pa se ne može zaobići samo za jednu adresu - ili je uključena za sve, ili je nema.
- WAF → Custom rules: dodajte pravilo s radnjom Skip za
URI Pathkoji počinje s/wp-cron.phpi za/cjenik-arhiva/. - Caching → Cache Rules: dodajte Bypass cache za
/cjenik-arhiva/. To vam treba ionako, da rubni poslužitelj nikad ne posluži inspekciji jučerašnji cjenik.
| Uzrok | Kako izgleda i kako provjeriti | Što napraviti |
|---|---|---|
| 1. CDN ili Cloudflare blokira poziv stranice samoj sebi | Na Pregledu piše da današnji snapshot nije napravljen, i/ili poruka provjera javne adrese nije uspjela (HTTP 403) - a ista se adresa u pregledniku otvara bez greške. Provjera: otvorite javnu poveznicu /cjenik-arhiva/ u pregledniku; ako se uredno otvori, web nije u kvaru, blokiran je samo poziv koji stranica šalje sama sebi. Drugi siguran znak: WooCommerce → Status → Zakazane radnje pokazuje desetke radnji „u kašnjenju“. Tada nije stao ovaj dodatak, nego cijeli WordPress mehanizam zadataka. | Najsigurnije rješenje na webu iza CDN-a nije popravljati WP-Cron, nego ga zaobići: postavite pravi server cron kako je opisano u poglavlju Automatizacija (cron), odlomci Ako ne znate što je cron i Ili sami, u cPanelu. |
| 2. Sigurnosni dodatak blokira loopback | Izgleda potpuno isto kao gornji slučaj: cjenik kasni, provjera javne adrese javlja 403 ili istek vremena, a stranica se u pregledniku otvara. Najčešći su Wordfence, iThemes Security (sada SolidWP), All In One WP Security i slični. Provjera: u dnevniku blokiranja tog dodatka potražite zapise s IP adresom vašeg vlastitog poslužitelja, u vrijeme kad je snapshot trebao nastati. | U postavkama sigurnosnog dodatka dopustite IP adresu samog weba (loopback) i putanju /wp-cron.php, odnosno stavite ih na popis iznimaka. Ako niste sigurni koja je to IP adresa, pitajte hosting. I ovdje vrijedi isto: trajno rješenje je server cron, jer on ne ovisi o tome hoće li web sam sebe smjeti nazvati. |
| 3. Hosting je isključio WP-Cron | Kartica Automatizacija na Pregledu javlja da je WP-Cron isključen. To znači da u datoteci wp-config.php stoji define( "DISABLE_WP_CRON", true );. Hosting to često napravi da rastereti poslužitelj, ali ponekad zaboravi postaviti zamjenu. | Javite hostingu jednu od dvije stvari: ili neka ponovno uključe WP-Cron, ili - bolje - neka postave server cron koji svakih 10 minuta poziva cron URL iz Postavke → Automatizacija. Druga je opcija bolja jer se tada cjenik objavljuje u točno vrijeme, bez obzira na to ima li posjeta. |
| 4. Web ima malo posjeta | Ništa nije blokirano i sve je ispravno postavljeno, ali između vremena snapshota (zadano 06:30) i roka u 08:00 nitko nije posjetio web. WP-Cron tako nije dobio priliku da se pokrene. Ujutro se prvi posjetitelj pojavi u 09:00 i snapshot nastane prekasno. | Ovo nije kvar i ne znači da ste nešto krivo napravili - to je normalno stanje na novom ili mirnom webu. Rješenje je jedino ispravno: server cron (poglavlje Automatizacija). Dok ga ne postavite, dnevni cjenik možete svako jutro napraviti ručno gumbom na Pregledu, ali to znači da morate misliti na to svaki dan. |
| 5. Kriva vremenska zona | Snapshot se uredno radi, ali u krivi sat: u nazivu datoteke i u dnevniku piše vrijeme koje ne odgovara hrvatskom. Pola godine sve izgleda dobro, a pola godine cjenik nastaje sat kasnije - i rok od 08:00 se probije. | Postavke → Općenito → Vremenska zona → odaberite grad u Hrvatskoj (Croatia), nikad fiksni pomak UTC+1 ili UTC+2. Detaljno objašnjenje s ljetnim i zimskim računanjem vremena je u poglavlju Automatizacija (cron), odlomak Vremenska zona i ljetno/zimsko računanje vremena. |
| 6. Server cron je postavljen, ali i on ide kroz CDN | Ovo je podmukao slučaj. Cron job na poslužitelju postoji i uredno se pokreće, ali poziva https://domena.hr/?scwh_cron=TOKEN - dakle javnu adresu, koja ide preko Cloudflarea. Isto pravilo koje blokira loopback blokira i njega, pa na Pregledu pod Zadnji poziv server crona i dalje nema ničega. Provjera: ako ste cron postavili prije nekoliko sati, a taj redak je i dalje prazan, poziv ne stiže do WordPressa. | Dvije su izlazne opcije. Prva, WP-CLI, koja uopće ne koristi HTTP pa je CDN ne može vidjeti (zamijenite ime korisnika i putanju svojima): */10 * * * * cd /home/KORISNIK/public_html && wp sidrena-cijena run --quiet Druga, curl izravno na izvorni poslužitelj, zaobilazeći CDN (ORIGIN_IP je prava IP adresa vašeg poslužitelja, dobijete je od hostinga): */10 * * * * curl -fsS --resolve domena.hr:443:ORIGIN_IP "https://domena.hr/?scwh_cron=TOKEN" > /dev/null Na webu iza CDN-a WP-CLI je bolji izbor kad ga hosting nudi: nema HTTP poziva, nema pravila koja ga mogu blokirati i ne ovisi o IP adresi koja se s vremenom može promijeniti. |
Brza provjera (dvije minute)
Ako vam cjenik treba objavljen danas, a uzrok ćete rješavati poslije, napravite jedno od ovoga:
- Otvorite cron URL iz Postavke → Automatizacija (gumb Prikaži pa Kopiraj) u pregledniku i pritisnite Enter. Zahtjev iz pravog preglednika prolazi kroz CDN, pa dodatak odmah napravi ono što je na redu.
- Ili na Pregledu kliknite Napravi dnevni snapshot sada.
- Osvježite Pregled i provjerite piše li pod Današnji snapshot da je napravljen, te otvorite javnu poveznicu
/cjenik-arhiva/u pregledniku.
Ovo rješava samo današnji dan. Ako uzrok ostane - blokada na CDN-u, sigurnosni dodatak, isključen WP-Cron ili nema posjeta - sutra ujutro bit će isto. Postavite server cron ili uklonite blokadu, pa se cjenik objavljuje sam.
17Barkod i marka
Barkod
Redoslijed izvora: 1) WooCommerce polje GTIN, UPC, EAN ili ISBN na proizvodu (WooCommerce 9.2+), 2) meta ključ odabran u Postavkama (npr. _ean iz nekog EAN dodatka). Postavke prikazuju ključeve pronađene u bazi s brojem proizvoda koji imaju vrijednost, pa lako odaberete pravi. Ako nema ni jednog, polje u CSV-u ostaje prazno, a proizvod je na popisu „Bez barkoda“. Dodatak nikad ne izmišlja barkodove.
Barkodove možete i uvesti CSV-om (stupac barkod). Barkod mora imati 8–14 znamenki (EAN-8, UPC, EAN-13, GTIN-14) ili biti ISBN; vrijednosti koje je Excel pretvorio u znanstveni zapis (3,85E+12) prepoznaju se kao neispravne, cijena se uveze, a barkod preskoči i navede u izvještaju. Savjet: u Excelu stupce šifre i barkoda oblikujte kao Tekst prije spremanja, inače Excel briše vodeće nule i skraćuje duge brojeve. Upisuju se u WooCommerce GTIN polje (koje provjerava jedinstvenost i format) ili u odabrani meta ključ. Barkod koji WooCommerce odbije završi na popisu grešaka uvoza.
Ako vaši proizvodi nemaju barkodove (npr. ručna izrada, usluge), polje jednostavno ostaje prazno. HOK i Ministarstvo potvrdili su da se barkod navodi samo ako ga koristite; prazno polje nije greška i ne utječe na status na Pregledu. Isto vrijedi za marku.
Marka
Redoslijed: 1) taksonomija marke (WooCommerce Brands automatski, ili druga odabrana u Postavkama, npr. Perfect Brands, YITH), 2) atribut proizvoda (npr. pa_marka), 3) meta ključ. Varijacija nasljeđuje marku roditelja. Ako ne koristite marke, označite to u poslovnim podacima.
18Usluge
Sidrena Cijena → Usluge. Stranica ima vlastiti status („Cjenik usluga je aktivan“) s brojem prošlih provjera, kartice sa stanjem, panel objavljenog cjenika, stanje licence i popis usluga. Za svaku uslugu unesite naziv, aktualnu cijenu, referentnu cijenu i po potrebi oznaku posebnog oblika prodaje s nazivom akcije. Svako spremanje odmah generira novu numeriranu publikaciju cjenika usluga i arhivira prethodnu. Referentni datum usluga je zadani datum iz Postavki. Javna poveznica: /cjenik-arhiva/cjenik-usluga/.
Stupac RB je redni broj usluge. Koristi ga uvoz iz CSV-a za prepoznavanje usluge i uvijek ide od 1 naviše; brisanjem usluge njezin broj nestaje i popis se ponovno numerira. Uslugu uklanjate ikonom kante za smeće, uz potvrdu; promjena se sprema tek klikom na Spremi usluge.
Cijeli popis možete uvesti iz CSV datoteke, vidi sljedeće poglavlje. Više poslovnica i poslovnih subjekata (4.0.0) opisano je u poglavlju „Poslovnice i poslovni subjekti“.
19Poslovnice i poslovni subjekti
Od verzije 4.0.0 jedan web može voditi cjenike usluga za više poslovnica i više poslovnih subjekata (tvrtki ili obrta). Svaka poslovnica ima vlastiti popis usluga s vlastitim cijenama, referentnim cijenama i datumima, vlastiti CSV, vlastiti broj pohrane, vlastitu arhivu i vlastitu javnu adresu. Promjena cijene u jednoj poslovnici ne objavljuje ništa u drugoj.
Ako imate jednu poslovnicu
Ništa se za vas ne mijenja: stranica Usluge, uvoz, arhiva, CSV i javne adrese ostaju kakvi su bili. Nadogradnja je vaš postojeći cjenik usluga smjestila pod poslovnicu nazvanu „Poslovnica 1“ i pokazuje obavijest „Provjerite podatke poslovnice“: kliknite Uredi poslovnicu, upišite pravi naziv (npr. „Zagreb Centar“), provjerite vrstu, adresu i oznaku i spremite. Do tada sve radi normalno.
Više poslovnica
Na vrhu stranice Sidrena Cijena → Usluge pojavljuje se izbornik poslovnica, grupiran po poslovnom subjektu kad ih ima više. Sve ispod izbornika (status, upozorenja, popis usluga, uvoz, povijest uvoza, javne poveznice) odnosi se isključivo na odabranu poslovnicu; naslov popisa glasi npr. „Usluge – Zagreb Centar“, a iznad uvoza piše „Uvoz u: Zagreb Centar“.
| Radnja | Što radi |
|---|---|
| + Dodaj poslovnicu | Tri koraka: 1) poslovni subjekt (postojeći ili novi), 2) podaci poslovnice (naziv, vrsta, adresa, oznaka, referentni datum poslovnice, javna adresa), 3) usluge: prazan popis, kopiranje iz druge poslovnice ili uvoz CSV-a. Cjenik nove poslovnice nije javan dok ga ne aktivirate gumbom „Aktiviraj cjenik usluga“. |
| Javna adresa (slug) | Predlaže se iz naziva pri stvaranju i kasnije se ne mijenja, pa poslane poveznice ostaju valjane. Zauzeta adresa je greška, nikad se ne prepisuje tuđa. |
| Vrsta, adresa i oznaka | Grade naziv objavljene datoteke. Dvije aktivne poslovnice ne smiju imati istu kombinaciju; dodatak to odbija i predlaže drugu oznaku (npr. 002). |
| Postavi kao zadanu | Poslovnica koju javna stranica otvara kad posjetitelj nije odabrao nijednu. Samo jedna može biti zadana; ako je deaktivirate, javno se prikazuje prva aktivna dok ne odaberete novu. |
| Deaktiviraj | Poslovnica nestaje iz javnog cjenika, njezin aktualni CSV prestaje odgovarati, a objavljena arhiva ostaje dostupna do isteka roka čuvanja. Ništa se ne briše; „Ponovno aktiviraj“ je vraća. Brisanja poslovnice u sučelju nema. |
| Kopiraj usluge iz druge poslovnice | Nudi se dok je popis prazan. Nazivi i aktualne cijene uvijek se kopiraju kao početna vrijednost; posebni oblik prodaje nikad. Za referentne cijene birate: A) ne kopiraj (preporučeno), B) kopiraj uz potvrdu da su iste cijene vrijedile i u novoj poslovnici, C) usluge su prvi put ponuđene u toj poslovnici: aktualna cijena postaje referentna s datumom prve ponude koji sami upišete. Prije upisa vidite pregled. |
Poslovni subjekti
Usluge → Poslovni subjekti. Za svaki subjekt vodite naziv, neobavezni javni naziv (prikazuje se na javnoj stranici umjesto naziva tvrtke) i neobavezni OIB. OIB služi samo vama za razlikovanje sličnih naziva: nikad se ne prikazuje javno, ne ide u CSV ni u naziv datoteke. Subjekt koji ima poslovnice ne može se obrisati; može se deaktivirati tek kad su mu sve poslovnice neaktivne.
Referentni datum po poslovnici i po usluzi
Svaka poslovnica može imati vlastiti referentni datum (prazno = zadani datum iz Postavki). Uz to svaka usluga u popisu ima malo polje datuma ispod referentne cijene: prazno znači „datum poslovnice“ (piše u polju kao primjer), a upisani datum vrijedi samo za tu uslugu, npr. za uslugu prvi put ponuđenu nakon referentnog datuma.
Javni cjenik
S jednom poslovnicom javna stranica izgleda kao i prije. S dvije ili više na njoj su poveznice na poslovnice, grupirane po subjektu; klik otvara samo tu poslovnicu (adresa ?cjenik=usluge&poslovnica=naziv), s njezinim CSV-om (/cjenik-usluga/naziv/) i njezinom arhivom. Stare adrese bez naziva poslovnice i dalje vode na poslovnicu 1. Nepoznata ili deaktivirana poslovnica vraća „nije pronađeno“, nikad cjenik neke druge.
Arhiva i oznaka „Pogrešno objavljeno“
Stranica Arhiva prikazuje cjenike usluga po poslovnici, s filtrom. Ako ste objavili krivi cjenik, označite ga gumbom Označi kao pogrešno objavljeno (uz neobavezan razlog). Objava ostaje u arhivi i na svojoj adresi, s tom oznakom i razlogom javno vidljivima, jer je zapis onoga što je tog dana bilo javno; datoteka, naziv, broj pohrane i adresa se ne mijenjaju. Oznaku možete ukloniti. Ako označite zapis koji je ujedno trenutačno objavljeni cjenik (u arhivi nosi oznaku trenutačno objavljeno), javna arhiva ga ne ispisuje jer je to popis prikazan iznad nje, pa se oznaka s razlogom ispisuje u zaglavlju samog cjenika.
Sigurnost: svaka radnja na poslovnici ili subjektu vezana je uz taj zapis. Obrazac jedne poslovnice ne može upisati u drugu, a deaktivirana poslovnica ne prima izmjene dok je ne aktivirate.
20Uvoz usluga iz CSV-a
Sidrena Cijena → Usluge → Uvoz usluga iz CSV datoteke. Cijeli popis usluga možete pripremiti u Excelu i učitati odjednom umjesto da svaku uslugu upisujete ručno.
Predložak
Kliknite Preuzmi CSV predložak. Predložak već sadrži vaše postojeće usluge s njihovim rednim brojevima pa ujedno služi kao izvoz: otvorite ga u Excelu, uredite i vratite natrag. Ako još nemate nijednu uslugu, u predlošku su dva primjera.
| Stupac | Značenje |
|---|---|
redni_broj | Redni broj usluge iz popisa (stupac RB). Ostavite prazno za novu uslugu. |
naziv | Naziv usluge. Obavezno. |
maloprodajna_cijena | Aktualna cijena s PDV-om. Obavezno. |
sidrena_cijena | Referentna cijena na referentni datum, bez akcije. Može ostati prazno. |
posebni_oblik_prodaje | da ako je usluga trenutno na akciji, inače ne. |
naziv_posebnog_oblika | Naziv akcije; obavezan kad u prethodnom stupcu piše da. |
Redni broj je identitet usluge
Uvoz povezuje redak iz datoteke s postojećom uslugom isključivo po rednom broju, nikad po nazivu. Zato uslugu možete slobodno preimenovati, a da se pri sljedećem uvozu ne udvostruči. Redak s praznim rednim brojem, ili s brojem kojeg popis nema, dodaje se kao nova usluga.
Redni brojevi su pozicije u popisu i uvijek idu od 1 naviše. Kad obrišete uslugu, njezin broj nestaje i popis se ponovno numerira: ono što je bilo 4. postaje 3. Zato prije uvoza starije datoteke uvijek preuzmite svježi predložak.
Dva načina uvoza
| Način | Što radi |
|---|---|
| Zamijeni cijeli popis | Datoteka postaje kompletan popis usluga, u redoslijedu iz datoteke. Usluge kojih u datoteci nema se uklanjaju, a numeracija kreće od 1. Preporučeno kad ste uredili preuzeti predložak. |
| Spoji s postojećim popisom | Redci s poznatim rednim brojem ažuriraju tu uslugu, a ostali se dodaju na kraj. Usluge kojih u datoteci nema ostaju nepromijenjene. Preporučeno kad dodajete nekoliko novih usluga. |
Pregled prije upisa
Nakon učitavanja dodatak pokaže što bi se dogodilo: koliko će usluga biti nakon uvoza, koliko je novih, ažuriranih, nepromijenjenih i uklonjenih, koje bi usluge nestale kod zamjene te tablicu svih redaka s oznakom što se s njima događa. Ništa se ne upisuje dok ne kliknete „Potvrdi uvoz“. Redci s greškom (bez naziva, neispravna cijena, akcija bez naziva) preskaču se i posebno su označeni.
Format datoteke
CSV, najviše 10 MB i 2000 redaka. Podržani razdjelnici: ;, ,, tabulator i |. Kodiranje UTF-8 ili Windows-1250 (hrvatski Excel). Decimalni zarez i točka rade oboje.
Uvoz mijenja popis usluga u dodatku. Ako je cjenik usluga već aktiviran, nova verzija javnog cjenika objavljuje se odmah nakon uvoza i prethodna ide u arhivu.
21Postavke
| Postavka | Značenje |
|---|---|
| Tekst uz cijenu | Redak ispod cijene za kupca. Mora sadržavati {datum}. |
| Veličina retka | Uvijek ista veličina u pikselima (zadano 12 px) ili postotak veličine glavne cijene (od 30 do 200 %, zadano 80 %). |
| Boja retka | Prati boju glavne cijene ili vlastita boja. |
| Poravnanje retka | Automatski, lijevo, sredina ili desno. Odaberite jedno od tri samo ako automatsko poravnanje ne stoji dobro u vašoj temi; vidi Prikaz kupcu. |
| Zadani naziv posebnog oblika prodaje | Što piše u CSV-u kad je proizvod na akciji (zadano „Akcija“). |
| Zadani referentni datum | Za sve proizvode bez vlastitog datuma. |
| Vrijeme dnevnog snapshota | Lokalno vrijeme, zadano 06:30. |
| Odgoda osvježavanja aktualnog cjenika | Minute čekanja nakon promjene prije regeneracije (zadano 5). |
| Barkod meta ključ | Dodatni izvor barkoda uz WooCommerce GTIN polje. |
| Taksonomija / atribut / meta ključ marke | Izvori marke po redoslijedu. |
| Sigurnosna kopija / izvoz | Preuzima CSV sa svim šiframa, referentnim cijenama, datumima i statusima. Čuvajte ga prije većih promjena; može se ponovno uvesti na istoj ili drugoj stranici. |
| Deinstalacija | Ako je uključeno, brisanje dodatka briše i referentne cijene, postavke i datoteke. Zadano isključeno. |
| Automatizacija (cron) | Cron URL, primjer za server, novi token. |
| Poslovni podaci | Prodajni objekt za proizvode i za usluge; kvačice za upozorenja. |
| Alat za skupnu primjenu datuma | Vidi Referentni datum i skupna primjena. |
| Pravna napomena | Tri dijela: što dodatak radi, što dostavlja trgovac, što nema službeno tumačenje. |
22Web bez WooCommercea
Ako web nema WooCommerce (npr. katalog ili obrt s cjenikom), cjenik proizvoda se učitava kao gotova CSV datoteka: Sidrena Cijena → Uvoz CSV-a → preuzmite predložak, popunite stupce po propisu (naziv, šifra, marka, jedinica, cijena, akcija, sidrena cijena, barkod, dostupnost), odaberite referentni datum, učitajte, pregledajte i potvrdite. Datoteka postaje javni cjenik s istim poveznicama i arhivom. Kad se cijene promijene, učitajte novu datoteku. Cjenik usluga radi jednako kao s WooCommerceom.
23Licenca
Dodatak radi s godišnjom licencom koju izdaje WEBHUB. Ključ unosite u Postavke → Licenca (ili na Pregledu ako licenca još nije aktivirana). Postoje dva plana:
| Plan | Što uključuje |
|---|---|
| Usluge | Cjenik usluga, referentne cijene usluga, javni cjenik, arhiva. |
| Proizvodi + usluge | Sve iz plana Usluge plus proizvodi webshopa (WooCommerce): prikaz referentne cijene uz svaku cijenu, uvoz starih cijena iz CSV-a, dnevni cjenik proizvoda, dohvat cijene po šifri, automatizacija. |
Provjera licence
Dodatak provjerava licencu pri aktivaciji, jednom dnevno u pozadini, najviše jednom dnevno kad radite u administraciji i kad kliknete Provjeri licencu. Provjera se nikad ne radi dok kupac gleda web: prikaz cijena i javni cjenik koriste zadnje poznato stanje spremljeno na vašoj stranici, pa licencni poslužitelj ne može usporiti webshop.
Što ako licenca istekne
Licenca kontrolira radnje, nikad čitanje onoga što je već objavljeno. Nakon isteka:
| Nakon isteka licence | Što se događa |
|---|---|
| Radi dalje | Redak referentne cijene kod kupca, redak najniže cijene u 30 dana prije sniženja, javna stranica cjenika, CSV, arhiva i dohvat cijene po šifri. |
| Pauzira se | Uređivanje referentnih cijena i usluga u dodatku, uvozi, bilježenje novih promjena cijena te izrada i objava novog cjenika (i dnevnog i tekućeg). |
Znači: ono što je objavljeno ostaje na webu, ali se više ne osvježava, pa web nakon isteka licence ne ispunjava obvezu dnevne objave cjenika. Podaci se nikad ne brišu - referentne cijene, usluge, postavke i arhiva ostaju na stranici i sve se nastavlja čim licencu obnovite. WooCommerce cijene se ne diraju ni u kojem slučaju.
Što ako licencni poslužitelj nije dostupan
Ako je zadnja provjera bila uspješna, a poslužitelj privremeno ne odgovara, dodatak radi normalno još 14 dana i sam ponavlja provjeru. Od sedmog dana u administraciji piše da licenca nije potvrđena u zadnje vrijeme. Tek nakon četrnaestog dana radnje se pauziraju do prve uspješne provjere. To je zaštita od tehničkog ispada, ne produljenje licence.
Promjena plana i prijenos
Nadogradnja s plana Usluge na Proizvodi + usluge ne traži ponovnu instalaciju: nakon sljedeće provjere licence pojave se dodatne stavke izbornika. Ako plan kasnije opet postane Usluge, podaci o proizvodima ostaju spremljeni, samo nisu dostupni. Gumb Deaktiviraj licencu oslobađa ključ za drugu stranicu; podaci na ovoj stranici ostaju.
Licenca je vezana uz ključ, domenu i identifikator instalacije (vidljiv u Postavkama). Ključ se u sučelju prikazuje maskirano.
24Rješavanje problema
| Simptom | Uzrok | Rješenje |
|---|---|---|
| Redak s cijenom se ne prikazuje kod kupca | Proizvod nema referentnu cijenu; cjenik nije aktiviran; tema ne koristi standardni ispis cijene; tema na tom mjestu skriva samu cijenu; cache. | Provjerite status proizvoda na stranici Proizvodi. Provjerite je li cjenik aktivan na Pregledu. Provjerite vidi li se na tom mjestu cijena: ako je i ona sakrivena, redak se skriva s njom namjerno. Očistite cache (dodatak za cache, CDN, browser). Ako tema ispisuje cijenu na svoj način, upotrijebite shortcode ili PHP poziv; vidi Prikaz kupcu. |
| Redak stoji u istom redu s cijenom, razvučen ili centriran | Tema ili graditelj stranica cijenu slaže u flex ili grid raspored i svojim pravilom pobjeđuje zadani stil retka. | Automatsko poravnanje to u pravilu riješi samo. Ako ne, u Postavkama, Prikaz kupcu, za Poravnanje retka odaberite lijevo, sredinu ili desno. Poglavlje Prikaz kupcu opisuje i slučaj grida s više stupaca. |
| U kartici u karuselu ili u popisu povezanih proizvoda retka nema | Tema tu cijenu skriva, a ne uklanja: veličina slova nula, prozirnost nula ili rezanje. Redak se tada skriva s cijenom, da ne otkrije prazan okvir ili traku. | Provjerite vidi li se u toj kartici cijena. Ako se cijena pojavi dok je miš nad karticom, redak se pojavi s njom. Ako želite da se vidi uvijek, cijenu u toj kartici mora prikazati tema; dodatak ju ne otkriva sam. |
| Na stranici varijabilnog proizvoda redak završi u navigacijskom pregledu ili u ljepljivoj traci | Starije verzije su uzimale prvu cijenu na stranici, a tema ih prije glavne cijene ispiše još dvije. | Nadogradite dodatak. Od verzije 4.1.7 glavna cijena se bira po mjestu na stranici, pa navigacijski pregledi i ljepljive trake ne dolaze u obzir. |
| Kod varijabilnog proizvoda redak se ne prikazuje | Nekoj vidljivoj varijaciji nedostaje referentna cijena, pa proizvod šuti umjesto da prikaže cijenu koja ne vrijedi za sve. | Na stranici Proizvodi filtrirajte Nedostaje referentna cijena i dopunite varijacije. Redak za pojedinu varijaciju vidi se i odmah nakon njezina odabira. |
| Kod varijabilnog proizvoda piše „ovisno o varijanti“ | Varijacije imaju različite referentne datume, ili dio njih ima cijenu a dio je označen kao „Nije primjenjivo“. Jedan zajednički iznos tada ne bi bio točan. | Ako datumi trebaju biti isti, poravnajte ih na varijacijama ili uvozom. Inače je poruka ispravna: kupac vidi točnu cijenu čim odabere varijaciju. |
| Varijabilni proizvod je na akciji, a redak najniže cijene u 30 dana prije sniženja se ne prikazuje prije odabira varijante | Vidljive varijacije se razlikuju po cijeni, aktualnoj ili redovnoj, pa roditelj prikazuje raspon i ne objavljuje sniženje; ili jedna vidljiva varijacija nema odgovor, jer je označena kao „Poseban režim“ ili joj WooCommerce ne navodi redovnu cijenu. | Poravnajte cijene varijacija ili dopunite tu varijaciju. Kupac točan podatak vidi odmah nakon odabira varijante. Od verzije 4.1.11 roditelj taj redak prikazuje kad sve vidljive varijacije imaju istu cijenu. |
| Proizvod je na akciji, a u retku najniže cijene u 30 dana prije sniženja stoji redovna cijena | Zabilježena povijest ne pokriva 30 dana prije početka akcije, pa je status „nema dovoljno podataka“ i dodatak kao zamjenu prikazuje redovnu cijenu. Od verzije 4.2.2 redak u tom slučaju ne izostaje, ali za točnost iznosa odgovarate vi; verzije 4.2.0 i 4.2.1 su šutjele. | Uvezite stvarne cijene iz prošlosti (Postavke, kartica Povijest cijena) ili upišite iznos ručno na proizvodu, odnosno na varijaciji. Popis takvih proizvoda i njihov broj vidite na Pregledu i na istoj kartici u Postavkama; vidi Najniža cijena u 30 dana prije sniženja. |
| Na nekim proizvodima piše 02.05.2025., na drugima 10.09.2026. | To je namjerno: svaki proizvod ima svoj referentni datum. | Ako je datum kriv, promijenite ga na proizvodu, uvozom ili alatom po kategorijama. |
| Još piše stari tekst („Sidrena cijena …“) | Cache stranice ili CSS-a. | Očistite cache i osvježite stranicu s Cmd/Ctrl+Shift+R. Provjerite tekst u Postavkama. |
| /cjenik-arhiva/ vraća 404 | Trajne poveznice nisu osvježene. | Postavke → Trajne poveznice → Spremi promjene (bez izmjena). Ili deaktivirajte i aktivirajte dodatak. |
| Javni CSV vraća 503 | Cjenik još nije generiran ili je WooCommerce isključen. | Kliknite „Napravi dnevni snapshot sada“. Uključite WooCommerce. |
| Piše da provjera javne adrese nije uspjela (npr. HTTP 403), a poveznica radi | Cloudflare, WAF, sigurnosni dodatak ili hosting blokira zahtjev koji web šalje samom sebi (loopback). Posjetitelji i inspekcija normalno dohvaćaju cjenik. | Otvorite javnu poveznicu u pregledniku; ako se datoteka otvori, sve je u redu i poruka je samo informativna. Da provjera prolazi: na Cloudflareu dodajte WAF pravilo Skip za putanju /cjenik-arhiva/* (Bot Fight Mode i Managed Rules) i Cache pravilo Bypass cache za istu putanju; u dodatku za cache (LiteSpeed, WP Rocket…) dodajte /cjenik-arhiva/ u „Do Not Cache URIs“. Bypass cache je preporučen i inače, da rubni cache nikad ne posluži jučerašnji cjenik. |
| Dnevni snapshot kasni ili ga nema | WP-Cron nije radio (nema posjeta, DISABLE_WP_CRON). | Postavite server cron s cron URL-om; vidi Automatizacija (cron). Kliknite „Napravi dnevni snapshot sada“ za danas. |
| Uvoz: velik broj „SKU nije pronađen“ | Šifre u datoteci nisu iste kao SKU u shopu (razmaci, prefiksi, drugačiji format), ili proizvodi nemaju SKU. | Preuzmite popis, usporedite s WooCommerceom, ispravite datoteku ili upišite SKU-ove u shop. Provjerite filter „Bez SKU-a“. |
| Uvoz: čudni znakovi umjesto č ć š ž đ | Datoteka je u neočekivanom kodiranju. | Spremite iz Excela kao „CSV UTF-8“ i učitajte ponovno. Dodatak sam prepoznaje UTF-8 i Windows-1250. |
| Uvoz: „Datoteka nema redak zaglavlja“ ili krivo mapirani stupci | Prvi red nije zaglavlje ili je razdjelnik krivo prepoznat. | Neka prvi red budu nazivi stupaca. Provjerite tablicu „Prvi redci datoteke“ u koraku 2 i ručno namjestite izbornike. |
| Uvoz: cijene su 100 puta veće/manje | Decimalni razdjelnik ili cijene bez PDV-a. | Cijene moraju biti s PDV-om, s jednim decimalnim razdjelnikom. Ispravite datoteku i uvezite ponovno (ažurira vrijednosti). |
| Uvoz: greška „barkod odbijen“ | WooCommerce GTIN polje prihvaća samo brojeve i jedinstvene vrijednosti. | Ispravite barkod ili u Postavkama odaberite meta ključ kao odredište. |
| Uvoz stao na pola | Prekid veze ili ograničenje poslužitelja. | Osvježite stranicu i kliknite „Nastavi uvoz“. Već upisani redovi ostaju. |
| Proizvod ne ulazi u CSV | Nema WooCommerce cijenu, nije objavljen, ili je varijacija neobjavljenog roditelja. | Provjerite cijenu i status objave. |
| Naziv CSV datoteke je prazan ili čudan | Poslovni podaci nisu uneseni. | Postavke → Poslovni podaci. |
| Cjenik se ne osvježava nakon promjene cijene | Promjena još čeka (zadano 5 min) ili WP-Cron ne radi. | Pričekajte ili kliknite „Osvježi aktualni cjenik“. Postavite server cron. |
| Security dodatak ili CDN blokira cron URL ili CSV | Pravila firewalla. | Dopustite putanju /cjenik-arhiva/ i parametar scwh_cron; isključite cache za te putanje. |
| Dodatak za cache poslužuje stari cjenik ili staru cijenu | Stranica je u cacheu dodatka za cache ili CDN-a. | Dodatak nakon uvoza, skupne primjene i generiranja sam čisti cache za WP Rocket, LiteSpeed, W3 Total Cache, WP Super Cache, WP Fastest Cache, SiteGround, Kinsta i Cloudflare dodatak. Za druge sustave isključite cache za /cjenik-arhiva/* ili ga ručno očistite. Cloudflare bez WordPress dodatka (samo DNS/dashboard) WordPress ne može očistiti: aktualni CSV i stranica cjenika zato šalju „no-cache, must-revalidate“ s ETagom pa ih rubni cache mora provjeriti pri svakom dohvaćanju, a arhivirani snapshoti su nepromjenjivi i smiju se cacheirati. Za stranice proizvoda nakon uvoza očistite Cloudflare cache ručno (Purge Everything) ili postavite Page Rule koji ne cacheira HTML. Napomena: ako Cloudflare Cache Rules imaju postavljen Edge TTL koji ignorira origin Cache-Control, izuzmite /cjenik-arhiva/ iz tog pravila ili postavite „Respect origin“; inače rubni cache može poslužiti stari aktualni cjenik. |
| Prijevodi (WPML, Polylang): proizvodi se pojavljuju dvaput | Svaka jezična verzija je zaseban WooCommerce proizvod. | Referentnu cijenu uvezite za svaku verziju (iste šifre ako ih dijele) ili prijevode isključite iz cjenika ručno. Dodatak zasad nema poseban tretman jezika. |
25Česta pitanja
Mijenja li dodatak cijene u mom shopu? Ne. Referentna cijena je zaseban podatak. Redovna i akcijska cijena ostaju kakve jesu.
Što upisati kao referentnu cijenu za proizvod na akciji? Cijenu koja se stvarno primjenjivala na referentni datum. Ako je na taj dan bila akcija, vrijedi ona; kad nije sigurno, konzultirajte knjigovodstvo. Dodatak upisuje ono što vi dostavite.
Što s proizvodima koje sam dodao nakon 10.09.2026.? Ostaju označeni „Nedostaje referentna cijena“ i kupac ne vidi redak. Službenog tumačenja zasad nema, pa dodatak ne pretpostavlja ništa. Odluku donosite vi (unesite cijenu ili označite „Nije bio u ponudi“).
Moram li svaki dan nešto klikati? Ne, ako je postavljen server cron ili radi WP-Cron. Snapshot i osvježavanje idu sami. Pregled pokazuje je li današnji snapshot napravljen.
Koliko dugo se čuva arhiva? 35 dana, automatski. Zakon traži 30.
Mogu li promijeniti tekst „Cijena na dan“? Da, u Postavkama. Zadržite {datum}.
Kako kupcu prikazati redak na mjestu gdje ga tema ne prikazuje? Shortcode [sidrena_cijena_proizvoda] ili PHP funkcija scwh_get_reference_price_html().
Imam Elementor. Radi li? Da, ako widget cijene koristi standardni WooCommerce ispis (Elementorov Product Price widget koristi). Inače shortcode.
Gdje kupac vidi cjenik? Na /cjenik-arhiva/ ili gdje ugradite shortcode [sidrena_cijena_cjenik]. Poveznicu stavite u podnožje.
Cijene u CSV-u su s PDV-om? Da, aktualna cijena se računa s PDV-om prema postavkama poreza u WooCommerceu. Referentne cijene unosite s PDV-om.
Što ako imam više prodajnih objekata? Dodatak podržava jedan prodajni objekt po webu (webshop). Za više objekata svaki treba svoju web instalaciju ili ručni cjenik.
Mogu li uvesti cijene više puta? Da. Ponovni uvoz ažurira vrijednosti i nikad ne stvara duplikate. Nepromijenjeni redovi se preskaču.
Što se događa pri nadogradnji dodatka? Nadogradnja ne briše ništa. Prije promjene strukture podataka dodatak sam spremi sigurnosnu kopiju svih referentnih cijena u mapu uploads/sidrena-cijena. Svejedno preporučujemo backup baze prije svake nadogradnje i izvoz CSV-a iz Postavki.
Briše li deinstalacija moje podatke? Ne, osim ako u Postavkama uključite „Obriši sve podatke pri deinstalaciji“.
Kome se obratiti? Prvo pogledajte poglavlje „Rješavanje problema“. Ako to ne pomogne, javite se na info@webhub.hr.