{"id":10834,"date":"2026-05-21T05:30:11","date_gmt":"2026-05-20T21:30:11","guid":{"rendered":"https:\/\/aeosub.com\/wpnest-price-history-for-woocommerce\/"},"modified":"2026-05-21T05:30:11","modified_gmt":"2026-05-20T21:30:11","slug":"wpnest-price-history-for-woocommerce","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/wpnest-price-history-for-woocommerce\/","title":{"rendered":"WPNest Price History for WooCommerce"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/ps.w.org\/wpnest-price-history-for-woocommerce\/assets\/icon-256x256.png?rev=3540112\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/wpnest\/\" target=\"_blank\" rel=\"noopener\">WPNest<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.3<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.2 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-20 9:08pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/wpnest-price-history-for-woocommerce\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">EU Omnibus directive compliance for WooCommerce \u2014 shows the lowest price from the last 30 days when a product is on sale.<\/div>\n<p>WPNest Price History for WooCommerce gives WooCommerce stores automatic compliance with the EU Omnibus directive (Directive 2019\/2161, in force across the EU since May 2022, in Poland from January 2023).<\/p>\n<p>The plugin records every price change in your store with a timestamp and renders the legally required notice \u2014 &#8220;Najni\u017csza cena z 30 dni przed obni\u017ck\u0105: X&#8221; \u2014 under the price on every product page where a discount is announced.<\/p>\n<h4>Key features (Free)<\/h4>\n<ul>\n<li><strong>Automatic price capture<\/strong> \u2014 every change made via admin, REST API, WP-CLI, CSV import, or programmatic save is recorded with timestamp.<\/li>\n<li><strong>Daily snapshot failsafe<\/strong> \u2014 a cron job ensures every published product has at least one history row per 24h, even when capture hooks miss.<\/li>\n<li><strong>30-day-low calculation<\/strong> \u2014 uses the legally correct &#8220;Omnibus&#8221; method (lookback from the moment the current sale started). A &#8220;Rolling&#8221; alternative is available for stores that prefer it.<\/li>\n<li><strong>Configurable label<\/strong> \u2014 the notice text is fully customizable per language.<\/li>\n<li><strong>Display options<\/strong> \u2014 single product page (required), shop loop, cart line items.<\/li>\n<li><strong>Variable products<\/strong> \u2014 per-variation tracking with frontend handler that updates the notice when a variation is selected.<\/li>\n<li><strong>Custom CSS<\/strong> \u2014 paste your own styles for the notice without editing files.<\/li>\n<li><strong>Per-product mini-chart<\/strong> in the admin product edit screen.<\/li>\n<li><strong>WP-CLI support<\/strong> \u2014 <code>snapshot<\/code>, <code>cleanup<\/code>, <code>backfill<\/code>.<\/li>\n<li><strong>Backfill on activation<\/strong> \u2014 seeds the history table with current prices so the 30-day window is never empty.<\/li>\n<li><strong>Cleanup cron<\/strong> \u2014 automatically removes entries older than the retention window (default 90 days).<\/li>\n<li><strong>Cache<\/strong> \u2014 transient-based (12h TTL) with automatic invalidation on every price change.<\/li>\n<li><strong>Compatible<\/strong> with HPOS (WooCommerce custom order tables).<\/li>\n<\/ul>\n<h4>Compliance basis<\/h4>\n<p>This plugin implements requirements from:<\/p>\n<ul>\n<li><strong>EU Directive 2019\/2161<\/strong> (&#8220;Omnibus&#8221;) \u2014 applicable across all EU member states.<\/li>\n<li><strong>Polish Ustawa o informowaniu o cenach towar\u00f3w i us\u0142ug, art. 4 ust. 2<\/strong> \u2014 domestic transposition, in force since 1 January 2023.<\/li>\n<\/ul>\n<p>UOKiK (the Polish Office of Competition and Consumer Protection) actively monitors compliance and may impose fines of up to 10% of annual revenue. The most commonly flagged violation is &#8220;price gymnastics&#8221; \u2014 artificially inflating the regular price shortly before a sale to make the discount appear larger.<\/p>\n<h4>Pro version<\/h4>\n<p>A Pro extension is available with additional features for shops that want to go beyond the legal minimum: public price history chart on product pages, Omnibus violation detector, compliance dashboard, webhooks (Slack\/Discord), CSV export for audit, tamper-proof hash chain, white-label, and more. See https:\/\/wpnest.pl\/sklep\/prawo-i-formalnosci\/wpnest-price-history-pro\/ for details.<\/p>\n<h3>Third-Party Libraries<\/h3>\n<p>This plugin bundles the following libraries:<\/p>\n<ul>\n<li>Chart.js v4.5.1 \u2014 MIT License, https:\/\/www.chartjs.org\/ \u2014 used to render the per-product price history chart in the admin product edit screen.<\/li>\n<li>chartjs-adapter-date-fns v3.0.0 (bundle including date-fns) \u2014 MIT License, https:\/\/github.com\/chartjs\/chartjs-adapter-date-fns \u2014 date adapter required by Chart.js v3+ for time-scale axes on the price history chart.<\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>EU Omnibus directive compliance for WooCommerce \u2014 shows the lowest price from the last 30 days when a product is on sale.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[729,1562,1563,1564,569,555],"class_list":["post-10834","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-compliance","tag-omnibus","tag-price-history","tag-sale","tag-woocommerce","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10834"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10834\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}