=== Sidro — sidrene cijene i cjenici ===
Contributors: eventaigrupa
Tags: woocommerce, cijene, cjenik, sidrena cijena, hrvatska
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 11.1
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Sidrena cijena uz cijenu proizvoda i dnevni strojno čitljivi cjenici (CSV i XML) za WooCommerce, prema NN 101/2026. Povezuje trgovinu sa Sidrom.

== Description ==

**Hrvatski**

Od 1. listopada 2026. trgovci u Hrvatskoj uz maloprodajnu cijenu moraju istaknuti i *sidrenu cijenu* (redovnu cijenu koja je vrijedila 10. 9. 2026., a za hranu, piće, kozmetiku, sredstva za čišćenje, toaletne potrepštine i proizvode za kućanstvo 2. 5. 2025. ako je trgovac tada već isticao), i to i na internetskoj stranici. Tko ima internetsku stranicu, svaki dan do 8:00 mora objaviti cjenike u strojno čitljivom obliku (CSV ili XML), držati ih dostupnima 30 dana i omogućiti automatsko preuzimanje (NN 101/2026).

Dodatak Sidro povezuje tvoju WooCommerce trgovinu sa servisom [Sidro](https://sidro-cjenici.vercel.app):

* **Katalog u Sidro** — svaki objavljeni proizvod i svaka varijacija šalju se u Sidro (šifra, naziv, marka, barkod, jedinica mjere i neto količina, kategorija, redovna cijena, akcijska cijena s razdobljem, dostupnost). Promjene odlaze u roku od otprilike minute, a cijeli katalog svaki dan oko 5:00, prije objave cjenika.
* **Sidrene cijene natrag u trgovinu** — svakih sat vremena dodatak preuzima sidrene cijene i najnižu cijenu u zadnjih 30 dana.
* **Prikaz uz cijenu** — na stranici proizvoda, u popisima proizvoda i pri odabiru varijacije: „Sidrena cijena (10. 9. 2026.): 12,99 €”, a kod akcije i „Najniža cijena u zadnjih 30 dana”. Prikaz preuzima font teme, a proizvodi bez sidrene cijene ne prikazuju ništa (nikad „0 €”).
* **Cjenici na tvojoj domeni** — stranica `/cjenici/` s popisom lokacija, zadnjim CSV i XML datotekama i arhivom od najmanje 30 dana. Datoteke se mogu posluživati s tvoje domene (npr. `/cjenici/P1/latest.csv`).
* **Promjena sidrene cijene** — iz okvira na zaslonu proizvoda, uz obavezan razlog koji Sidro bilježi u revizijski zapis.
* **Stanje i zapisnik** — zadnja sinkronizacija, povlačenje, proizvodi koji traže provjeru i zapisnik zadnjih 50 događaja.

Za rad je potreban račun u Sidru s paketom koji uključuje API.

**English**

From 1 October 2026 Croatian retailers must show the *anchor price* next to the current price, also online, and publish daily machine-readable price lists (CSV/XML) by 08:00, kept for 30 days (NN 101/2026). This plugin connects WooCommerce to the Sidro service: it pushes the catalog (simple products and variations) to Sidro, pulls anchor prices and the lowest price in the last 30 days back every hour, shows them next to the product price, lets you change an anchor price with a mandatory reason, and serves the price list page (`/cjenici/`) and files on your own domain. The admin interface is in English and Croatian.

= Privacy =

The plugin sends product data (codes, names, prices, stock availability, dates) to Sidro. It sends no customer or order data. The API key is stored in the options table without autoloading and is never shown again after saving; you can also define it in `wp-config.php` as `SIDRO_API_KEY`.

== Installation ==

1. Instaliraj i aktiviraj WooCommerce (7.0 ili noviji).
2. Instaliraj dodatak (Dodaci → Dodaj novi → Učitaj dodatak) i aktiviraj ga.
3. U Sidru stvori API ključ (Postavke → API ključevi) i zalijepi ga pod WooCommerce → Sidro → Povezivanje. Nakon prve uspješne veze pokreće se puna sinkronizacija kataloga.
4. Na proizvodima po potrebi upiši jedinicu mjere i neto količinu (Podaci o proizvodu → Općenito → „Sidro — podaci za cjenik”).
5. Provjeri stranicu `/cjenici/` i po želji uključi poveznicu u podnožju (kartica Cjenici).

**English:** install and activate WooCommerce, install and activate this plugin, paste the API key created in Sidro under WooCommerce → Sidro → Connection, fill in the unit of measure and net quantity where needed, and check `/cjenici/`.

== Frequently Asked Questions ==

= Tko računa sidrenu cijenu? =

Sidro. Dodatak šalje katalog s datumom nastanka i zadnje izmjene svakog proizvoda, a Sidro iz povijesti cijena ili tih podataka utvrđuje sidrenu cijenu i njezin status (potvrđena, za provjeru, nedostaje). Proizvodi „za provjeru” navedeni su na kartici Stanje.

= Kada se podaci šalju u Sidro? =

Promjena proizvoda (cijena, akcija, zaliha, status, brisanje) šalje se otprilike minutu nakon spremanja. Cijeli katalog šalje se svaki dan oko 5:00 i na klik „Sinkroniziraj sve sada”. Proizvodi koji se više ne prodaju (skica, privatno, u smeću, obrisano) šalju se kao neaktivni.

= Moja stranica ima malo posjeta. Hoće li sinkronizacija u 5:00 krenuti na vrijeme? =

Poslovi u pozadini pokreću se preko WP-Crona, koji se pokreće posjetom. Na stranicama s malo prometa postavi pravi cron zadatak na poslužitelju koji svakih nekoliko minuta poziva `wp-cron.php`.

= Gdje su cjenici i kako ih preuzimaju automatizirani sustavi? =

Na `/cjenici/` (adresa se mijenja na kartici Cjenici). Stranica sadrži izravne poveznice na zadnje CSV i XML datoteke i arhivu, a `/cjenici/{lokacija}/latest.csv` i `latest.xml` uvijek vode na zadnju objavu. Isti popis na bilo kojoj stranici daje kratki kod `[sidro_cjenici]`.

= Mogu li promijeniti tekst „Sidrena cijena”? =

Da, na kartici Prikaz. Ondje se uključuje i prikaz datuma i najniže cijene u zadnjih 30 dana. Za prikaz jednog proizvoda bilo gdje koristi `[sidro_sidrena_cijena id="123"]` ili `[sidro_sidrena_cijena sku="OZ001"]`.

= Radi li prikaz s blok temama? =

Da — blokovi Cijena proizvoda i Kolekcija proizvoda iscrtavaju cijenu na poslužitelju pa se sidrena cijena prikazuje. Iznimka je stari blok „Svi proizvodi” (All Products), koji cijene iscrtava u pregledniku; ondje sidrena cijena nije prikazana.

= Zašto proizvod ne prikazuje sidrenu cijenu? =

Sidro za njega još nema sidrenu cijenu (status „nedostaje”), povlačenje još nije prošlo ili je proizvodu promijenjena šifra (dok Sidro ne vrati cijenu za novu šifru, stara se ne prikazuje). Pogledaj okvir „Sidro — sidrena cijena” na proizvodu.

= Kako testirati s drugim poslužiteljem? =

U `wp-config.php` dodaj `define( 'SIDRO_API_BASE', 'https://…' );` (ili koristi filtar `sidro_api_base`). Ključ se može postaviti i konstantom `SIDRO_API_KEY`.

= Što se događa kad obrišem dodatak? =

Brišu se postavke, zapisnik i zakazani poslovi (grupa „sidro”). Podaci na proizvodima (sidrene cijene, jedinice mjere, nazivi akcija) ostaju.

= Hooks for developers =

Filters: `sidro_api_base`, `sidro_item_payload` (change or remove fields of an item before it is sent), `sidro_item_sku`, `sidro_is_product_eligible`, `sidro_brand_taxonomies`, `sidro_batch_size`, `sidro_push_delay`, `sidro_daily_sync_time`, `sidro_daily_sync_offset_minutes`, `sidro_display_statuses`, `sidro_anchor_price_html`, `sidro_format_anchor_date`, `sidro_product_id_for_sku`, `sidro_price_list_html`, `sidro_pricelist_time_format`, `sidro_pricelist_max_age`. Actions: `sidro_anchor_updated` (product ID, new values), `sidro_org_changed`.

== Changelog ==

= 1.0.0 =
* Prvo izdanje: slanje kataloga (promjene i dnevna puna sinkronizacija), povlačenje sidrenih cijena, prikaz uz cijenu, promjena sidrene cijene s razlogom, stranica s cjenicima i posluživanje datoteka s vlastite domene, zapisnik, hrvatski prijevod.
* First release.

== Upgrade Notice ==

= 1.0.0 =
Prvo izdanje. First release.
