{"id":377029,"date":"2026-10-01T22:39:49","date_gmt":"2026-10-01T22:39:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sidrena-for-woocommerce\/"},"modified":"2026-10-09T21:30:25","modified_gmt":"2026-10-09T21:30:25","slug":"brendigo-sidrena-cijena","status":"publish","type":"plugin","link":"https:\/\/uk.wordpress.org\/plugins\/brendigo-sidrena-cijena\/","author":23408568,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.0","stable_tag":"1.5.0","tested":"7.1.3","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"SIDRENA \u2013 Sidrene cijene i cjenici","header_author":"Brendigo","header_description":"Sidrene cijene, povijest cijena i javni CSV\/XML cjenici za WooCommerce trgovine u Hrvatskoj.","assets_banners_color":"","last_updated":"2026-10-09 21:30:25","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/brendigo.com\/sidrene-cijene\/","header_author_uri":"https:\/\/brendigo.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":328,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.16":{"tag":"1.2.16","author":"brendigo","date":"2026-10-09 19:09:06","revision":3737237},"1.4.3":{"tag":"1.4.3","author":"brendigo","date":"2026-10-09 19:10:56","revision":3737238},"1.5.0":{"tag":"1.5.0","author":"brendigo","date":"2026-10-09 21:30:25","revision":3737344}},"upgrade_notice":{"1.5.0":"<p>More translated interface texts for 20 languages. Untranslated texts still fall back to Croatian. No migration required.<\/p>","1.4.7":"<p>More translations for every previously incomplete locale, particularly error handling and public pricelists. No database migration.<\/p>","1.4.6":"<p>Adds 1,400 locale translations for the core interface and import\/export error messages. No database migration.<\/p>","1.4.5":"<p>Completes English translations and expands Bosnian and Serbian; other locales remain partial. No data migration.<\/p>","1.4.4":"<p>Adds multilingual catalogs and fixes default prefix and locale handling. No database migration.<\/p>","1.4.3":"<p>Hardens outlet and service saves, protects imported price data with server-side preflight verification, and optimizes multi-outlet processing. Back up your database before upgrading.<\/p>","1.4.2":"<p>Adds in-plugin beginner instructions for standalone WordPress and WooCommerce, with direct navigation to existing features. No catalog or database changes.<\/p>","1.4.1":"<p>Improves Plugin Check compatibility, SQL safety, and history performance. Keeps existing prices, feeds and both operating modes.<\/p>","1.3.2":"<p>Improves barcode handling, CSV\/XML imports and standalone administration. Preserves existing pricing data and URLs.<\/p>","1.3.1":"<p>Adds standalone WordPress price-history tracking and an individual manual-item shortcode, hardens malformed JSON handling, makes catalog IDs monotonic, improves cleanup and privacy controls. WooCommerce stays optional. Back up your database and generated pricelists before updating.<\/p>","1.3.0":"<p>Adds observed price history, publication alerts, separate product\/service feeds, and REST discovery. Back up data before updating.<\/p>","1.2.16":"<p>Fixes WordPress.org i18n translator-comment errors and malformed admin sprintf placeholders that could append internal text to publication, pending-change, and pagination labels.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.16","1.4.3","1.5.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[177112,567,72705,285292,286],"plugin_category":[45],"plugin_contributors":[252368],"plugin_business_model":[],"class_list":["post-377029","plugin","type-plugin","status-publish","hentry","plugin_tags-croatia","plugin_tags-csv","plugin_tags-price-list","plugin_tags-reference-prices","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-brendigo","plugin_committers-brendigo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/brendigo-sidrena-cijena.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>SIDRENA brings reference prices, transparent public pricelists and dated archives together in one WordPress dashboard.<\/strong> Built for WooCommerce stores and independent WordPress catalogs, without adding an external account or mandatory hosted service.<\/p>\n\n<h4>Publish with clarity<\/h4>\n\n<ul>\n<li><strong>Reference prices with dates<\/strong> - keep reference values and their applicable dates visible alongside current prices.<\/li>\n<li><strong>Public, readable pricelists<\/strong> - publish HTML pages and share XML\/CSV exports with customers and search engines.<\/li>\n<li><strong>A lasting archive<\/strong> - preserve published pricelists for future consultation and downloads.<\/li>\n<li><strong>WordPress or WooCommerce<\/strong> - manage products, variations, services and multiple locations from familiar controls.<\/li>\n<li><strong>Control and visibility<\/strong> - use role-protected settings, an administrator audit trail and scheduled publication.<\/li>\n<\/ul>\n\n<p>The plugin does not invent historical prices or certify a shop's legal compliance. Store owners are responsible for entering accurate source data, testing published outputs and checking applicable legal requirements.<\/p>\n\n<h4>Designed for your workflow<\/h4>\n\n<p>Brendigo Sidrena Cijena provides one interface for managing reference-price data and publishing a public pricelist.<\/p>\n\n<p>Key features:<\/p>\n\n<ul>\n<li>Reads products and variations directly from WooCommerce without duplicating the catalog.<\/li>\n<li>Bulk editing of reference price, reference date, barcode and public-pricelist visibility.<\/li>\n<li>Standalone manual products and services when WooCommerce is not used, with individual price cards and observed sales-price history.<\/li>\n<li>Administrator-only local audit trail for reference-price edits (time, operator, old\/new value); no external analytics.<\/li>\n<li>Separate [sidrena_najniza_prije_snizenja id=\"d7\" datum=\"2026-10-09\"] for the recorded 30-day window before a specific sale. Incomplete history is labeled as such.<\/li>\n<li>Public HTML pricelist and XML\/CSV output generated from the same saved data.<\/li>\n<li>Public archive of previously generated pricelists.<\/li>\n<li>Multiple shop locations with separate public outputs.<\/li>\n<li>CSV\/XML import and export, unit-of-measure price fields and barcode support for standalone items as well as WooCommerce products.<\/li>\n<li>WPML, Polylang and common WooCommerce theme\/builder compatibility.<\/li>\n<li>Automatic publication after relevant changes plus a configurable daily publication time.<\/li>\n<li>Recovery checks for missed or failed background publications.<\/li>\n<li>WP-CLI generation and health commands on supported hosting environments.<\/li>\n<li>Observed selling-price history for WooCommerce products\/variations and standalone products\/services, with an incomplete-30-day-history indication.<\/li>\n<li>Email alerts when scheduled publication fails or is missed, with a 12-hour per-error throttle.<\/li>\n<li>Separate XML, CSV and HTML feeds for goods and services, including multiple outlet feeds and 30-day dated archives.<\/li>\n<li>Read-only REST API for discovering current pricelists and their archives.<\/li>\n<li>Cart\/Checkout Blocks reference-price display via WooCommerce Store API extension data.<\/li>\n<li>Best-effort missed-publication recovery on public visits when built-in WP-Cron is disabled; external host scheduling remains recommended.<\/li>\n<\/ul>\n\n<p>New installations default to a daily publication time of 07:00 in the WordPress site timezone. The time is configurable. A scheduled publication updates the public HTML page and configured XML\/CSV file together and then stores the published version in the archive.<\/p>\n\n<p>Reference prices and dates are entered or imported by the site administrator. The plugin does not infer historical prices.<\/p>\n\n<p>Documentation: https:\/\/brendigo.com\/sidrene-cijene<\/p>\n\n<h3>WooCommerce catalog workflow<\/h3>\n\n<p>The Products tab reads WooCommerce products directly. Product name, SKU and current price remain linked to the original product; the plugin stores only its own reference-price fields and related public-pricelist settings.<\/p>\n\n<p>Large catalogs are paginated, and variations are grouped with their parent products.<\/p>\n\n<h3>Standalone WordPress without WooCommerce<\/h3>\n\n<p>WooCommerce is optional. Activate the plugin in a standard WordPress installation and use the <strong>Brendigo Sidrena Cijena<\/strong> menu. Add manual products and services in the Products tab, provide the current price, reference price and date, then publish the HTML\/XML\/CSV pricelist. No checkout or online payment module is added to WordPress by this plugin.<\/p>\n\n<p>Use <code>[sidrena_stavka id=\"123\"]<\/code> for a named card showing the current and reference price, <code>[sidrena-cijena id=\"123\"]<\/code> for the reference price, <code>[sidrena_povijest_cijena id=\"123\"]<\/code> for observed price history, and <code>[sidrena-cjenik]<\/code> for the entire pricelist. When WooCommerce is also active, prefix the manual row ID with <code>d<\/code> for shortcodes that may otherwise resolve to a WooCommerce product: <code>id=\"d123\"<\/code>. Individual manual item cards always use the manual catalog.<\/p>\n\n<p>Price history starts when tracking is installed or a product is first seen; it does not backdate or establish the legally required historical reference price. Daily publishing uses the WordPress event scheduler and an on-visit recovery fallback; for predictable timing even on low-traffic sites configure a server-side cron.<\/p>\n\n<h3>Scheduled publication<\/h3>\n\n<p>Daily publication follows the WordPress site timezone and is recalculated by local calendar date so daylight-saving changes do not shift the configured local time. A successful run updates the public HTML pricelist, the selected XML\/CSV live file, and the archive entry.<\/p>\n\n<p>WordPress WP-Cron is traffic-driven. If publication must run very close to an exact minute, configure the hosting scheduler to trigger WordPress cron regularly. Automatic maintenance also checks for missed publication slots and can queue recovery.<\/p>\n\n<h3>Shortcodes<\/h3>\n\n<pre><code>[brendigo-sidrena-cijena] - reference price for the current product.\n[brendigo-sidrena-cijena id=\"123\"] - reference price for a selected product or manual catalog row.\n[brendigo-sidrena-cjenik] - public pricelist table.\n[brendigo-sidrena-arhiva] - public pricelist archive.\n[sidrena_stavka id=\"123\"] - standalone product or service card, no WooCommerce needed.\n[sidrena_povijest_cijena id=\"123\"] - observed price history in standalone mode; with WooCommerce use `d123` for a manual row.\n<\/code><\/pre>\n\n<p>Legacy shortcode aliases remain available for backward compatibility.<\/p>\n\n<h3>WP-CLI<\/h3>\n\n<pre><code>wp sidrena-cijena regenerate regenerates and archives the public pricelist.\n\nwp sidrena-cijena health reports publication schedule and automation state.\n\nwp sidrena-cijena fill can fill empty reference-price fields from regular prices when an administrator intentionally chooses that workflow.\n<\/code><\/pre>\n\n<!--section=installation-->\n<p>After activation, open the <strong>Upute<\/strong> (Guide) tab inside Brendigo Sidrena Cijena for a step-by-step onboarding guide in Croatian: separate instructions for standalone WordPress and WooCommerce, publishing, imports, public shortcodes, and troubleshooting.<\/p>\n\n<ol>\n<li>Install the ZIP from WordPress Plugins &gt; Add New, or upload the <code>brendigo-sidrena-cijena<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>SIDRENA<\/strong>.<\/li>\n<li>Open WooCommerce &gt; SIDRENA. Without WooCommerce, use the standalone SIDRENA menu.<\/li>\n<li>Open <strong>Products<\/strong> to enter reference prices and dates.<\/li>\n<li>Open <strong>Public pricelist<\/strong> to choose the daily publication time and publish the first version.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20copy%20my%20woocommerce%20products%20into%20another%20catalog%3F\"><h3>Does the plugin copy my WooCommerce products into another catalog?<\/h3><\/dt>\n<dd><p>No. The WooCommerce catalog editor reads existing products and variations directly and stores only plugin-specific fields on those records.<\/p><\/dd>\n<dt id=\"what%20is%20published%20at%20the%20selected%20daily%20time%3F\"><h3>What is published at the selected daily time?<\/h3><\/dt>\n<dd><p>The public HTML pricelist and selected XML\/CSV live file are generated together, followed by the archive entry.<\/p><\/dd>\n<dt id=\"can%20i%20change%2007%3A00%3F\"><h3>Can I change 07:00?<\/h3><\/dt>\n<dd><p>Yes. The daily publication time is configurable in the Public pricelist tab.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20catalog%20data%20to%20an%20external%20service%3F\"><h3>Does the plugin send catalog data to an external service?<\/h3><\/dt>\n<dd><p>No. The plugin does not make remote API requests for catalog processing. The administrator guide is built into the plugin and does not require an external connection.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Expanded incomplete translations across 20 languages; these 20 remain partial.<\/li>\n<li>Fixed Serbian Latin translation filenames to <code>sr_RS_latin<\/code> and regenerated all compiled locale catalogs.<\/li>\n<li>Removed manual translation loading discouraged for WordPress.org-hosted plugins.<\/li>\n<li>Added SIDRENA brand symbol to the WordPress admin and prepared separate WordPress.org icon\/banner assets.<\/li>\n<li>Kept Croatian as the source language and reference-price logic unchanged.<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Added 27 partial language packs, POT template, and corrected locale selection and default label.<\/li>\n<li>Preserved Croatian as source and unchanged reference-price business logic.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Hardened outlet JSON validation and prevented destructive changes on failed writes.<\/li>\n<li>Kept outlet and manual service identifiers stable across deletion.<\/li>\n<li>Required matching, successful server-side import preflight before applying CSV\/XML\/XLSX import mappings.<\/li>\n<li>Reduced unnecessary repeated catalog scans for multi-outlet generation.<\/li>\n<li>Removed a duplicate import-column alias; retained existing public APIs and WordPress\/WooCommerce modes.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Added a fully local, access-controlled Upute admin tab with beginner onboarding guides for two operating modes and common setup tasks.<\/li>\n<li>Linked help from the admin header, plugin action links and overview dashboard.<\/li>\n<li>Kept current public price outputs and WordPress.org distribution clean of extra markdown files.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed WordPress.org Plugin Check errors for options, temporary XLSX files and product query filters.<\/li>\n<li>Improved plugin-owned SQL safety and reduced repeat database reads while retaining up-to-date administrator audit information.<\/li>\n<li>Removed internal development documentation from the distributable package.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Added an administrator-only local change log for reference price edits in manual catalogs and plugin-managed WooCommerce writes, including WooCommerce CSV imports after successful saves.<\/li>\n<li>Added <code>[sidrena_najniza_prije_snizenja id=\"d7\" datum=\"2026-10-09\"]<\/code> for a dated, separate pre-discount 30-day observation. Data are marked incomplete when no baseline proves all 30 days.<\/li>\n<li>Preserved recent 31-day archival data even when archives contain more than 30 files.<\/li>\n<li>Improved protection against incorrectly logging unsuccessful saves, with regression tests for standalone and WooCommerce CSV integration.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Fully support observing manual product\/service price changes without WooCommerce; protect history from WooCommerce ID collisions.<\/li>\n<li>Add <code>[sidrena_stavka id=\"123\"]<\/code> for a lightweight named manual product\/service card.<\/li>\n<li>Prevent malformed or truncated catalog JSON from wiping stored data, strictly validate item IDs, and avoid reusing automatic row IDs after deletion.<\/li>\n<li>Improve manual-row lookup with an in-request index and prevent accidental repeated unslashing of stored text.<\/li>\n<li>Disable automatic historical reference-price autofill on new installs only; keep existing saved preferences unchanged.<\/li>\n<li>Maintain standalone history independently of WooCommerce; explicitly purge history only on administrator-confirmed full data wipe.<\/li>\n<li>Keep original prices, dates, WooCommerce functionality, exports, archives, public URLs and existing shortcodes compatible.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Record observed WooCommerce product and variation price changes; calculate the lowest observed price within the 30-day window, marking incomplete history.<\/li>\n<li>Capture current baseline prices for existing products incrementally and keep 400 days of price observations.<\/li>\n<li>Send rate-limited failure and missed-publication email alerts to the designated address or site administrator.<\/li>\n<li>Publish separate goods\/services XML, CSV and HTML alongside unchanged existing combined live feeds, with per-outlet exports and dated archives.<\/li>\n<li>Provide a read-only REST API for published feeds and separate archives.<\/li>\n<li>Integrate reference-price display into the WooCommerce Store API and Cart\/Checkout Blocks.<\/li>\n<li>Add best-effort overdue publication repair when WP-Cron is disabled, plus server-side cron configuration guidance.<\/li>\n<li>Preserve reference-price dates, existing option keys, product metadata, shortcodes, archive schema and slug.<\/li>\n<\/ul>\n\n<h4>1.2.16<\/h4>\n\n<ul>\n<li>Moved translator comments directly above all newly reported placeholder translation calls so WordPress i18n checks can associate them correctly.<\/li>\n<li>Fixed malformed numbered sprintf placeholders in publication status, pending-change status, and WooCommerce pagination labels.<\/li>\n<li>Re-audited translatable placeholder strings and release metadata.<\/li>\n<\/ul>\n\n<h4>1.2.15<\/h4>\n\n<ul>\n<li>Added a deterministic class-map autoloader so plugin classes load only when a request actually needs them.<\/li>\n<li>Removed redundant manual class bootstrap branches and more unused localized JavaScript configuration.<\/li>\n<li>Centralized locked reference-date values so product fields, admin guidance and import templates cannot drift from the configured constants.<\/li>\n<li>Reduced unnecessary frontend stylesheet work when automatic display is disabled or standalone pages do not render reference prices.<\/li>\n<li>Deferred the storefront compatibility script and removed a repeated full-document legacy-tooltip cleanup from every injected price node.<\/li>\n<li>Removed the current tooltip info icon markup\/CSS while preserving keyboard-accessible tooltip behavior and legacy cached-markup cleanup.<\/li>\n<li>Refined admin switch states and corrected reduced-motion loading-indicator behavior.<\/li>\n<li>Sanitized and bounded exception messages before they are passed to logging integrations.<\/li>\n<\/ul>\n\n<h4>1.2.14<\/h4>\n\n<ul>\n<li>Centralized plugin-owned filesystem access and removed duplicated filesystem initialization.<\/li>\n<li>Lazy-loaded dashboard\/import\/editor code outside normal storefront requests.<\/li>\n<li>Removed verified duplicate forwarding methods, shared manual-row helper implementations, obsolete CLI fallback code, unused CSS variables and empty package directories.<\/li>\n<li>Consolidated repeated standalone public-page HTML shell\/back-link output and uses the WordPress site language\/direction.<\/li>\n<li>Moved older release history to <code>changelog.txt<\/code> and reduced readme size for the WordPress.org parser.<\/li>\n<\/ul>\n\n<p>For older release history, see <code>changelog.txt<\/code>.<\/p>","raw_excerpt":"Manage reference prices and dates, publish a public HTML pricelist, and generate XML\/CSV archives for WooCommerce or standalone catalogs.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377029"}],"author":[{"embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/brendigo"}],"wp:attachment":[{"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377029"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377029"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377029"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377029"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377029"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/uk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}