WC Price History for Omnibus


Track WooCommerce© Products prior prices history and display the lowest price in the last 30 days. This plugin allows your WC shop to be compliant with European Commission Directive 98/6/EC Article 6a which specifies price reduction announcement policy.


The plugin works out of the box: install and activate and your discounted products will be compatible with Omnibus directive!

Plugin is configurable via WooCommerce > Price History screen. You can configure:
↪ Where to display the price history information:
» on the single product page
» upsell and related products
» main shop page
» product category pages
» product tag pages
↪ When to display minimal price (always or only when the product is on sale)
↪ How to count minimal price (the minimal from the moment product went on sale to 30 days before that moment or the minimal price from today to 30 days ago)
↪ How many days take into account when calculating minimal price (30 days by default)
↪ How to display the price history information
↪ What to do if the price didn’t change in the last N days (hide price information / display current price / display custom text)

At the configuration screen you will find additional information how to configure the plugin to be compliant with Omnibus directive (European Commission Directive 98/6/EC Article 6a) and link to legal acts.


  • Lowest price information displayed on single product page.
  • WC Price History configured according to Omnibus directive.


  • Unzip the directory in wp-content/plugins
  • Go to wp-admin > Plugins and activate the plugin


How to configure plugin to be compliant with Omnibus directive

You don’t have to do anything special, the default settings are compliant with Omnibus directive!

However, in case you misconfigured the plugin, here are steps to take to make it compliant again (please note similar suggestions hints you will see on Settings screen):

  1. Go to WooCommerce > Price History screen
  2. Set Display on to Single product page
  3. Set Display minimal price to Only when product is on sale
  4. Set Count minimal price from to Day before product went on sale
  5. Set Number of days to use when counting minimal price: to 30 days
  6. For each product being on sale, go to its edit screen and set Sale price dates from to the date when the product went on sale.

Is plugin working well with variable products?

Yes, the plugin is compatible with product taxes and variable products (it tracks minimal price for each variation individually).

Is there any shortcode I could use to display minimal price?

If you want to display the lowest products price in other place than default, you can use shortcode wc_price_history. A few examples:

Display the lowest price on single product page (without passing product ID as argument), currency symbol attached:
This product low is [wc_price_history]

Display the lowest price of the other product, currency symbol attached:
The product with ID 3 had the lowest price [wc_price_history id=3]

Display without currency symbol:
The product with ID 3 had the lowest price [wc_price_history id=3 show_currency=0]

What filters and actions I can use to affect WC Price History internal logic?

Available filters are:
wc_price_history_is_correct_place (defined in PriorPrice\Prices::is_correct_place)
Allows to display price history on custom screens, not listed in plugins settings. Return true to make price history visible.

wc_price_history_is_not_correct_when (defined in `PriorPrice\Prices::is_not_correct_when`)

Allows to stop displaying price history for your own custom conditions. Return true to prevent displaying price history.

For some products being on sale, plugin shows minimal price from current day, why?

This is because you have not set Sale price dates from for these products. Go to the product edit screen and set Sale price dates from to the date when the product went on sale.

Tip: All the products which are On sale but does not have Sale price dates from set will be logged to WooCommerce logs. Go to WooCommerce > Status > Logs to see the list of products (in right top corner preselect log which name starts with wc-price-history).

Can I adjust minimal price before being it displayed?

Yes, you can use filter wc_price_history_lowest_price_html_raw_value_taxed:


add_filter( ‘wc_price_history_lowest_price_html_raw_value_taxed’, function( $price, $wc_product ) {
// do something with $price
return $price;
}, 10, 2 );

Can I clean the history?

Yes, on the plugin configuration screen click the button ‘Clean history’. This will remove all the history storage for all products. Make sure you know what you are doing (in general, use this option only if you are going to remove plugin completely).

I have a problem with the plugin, or I want to suggest a feature. Where can do this?

Please submit the GitHub issue.


జూలై 4, 2024
Does what was made for, without any problem also great support from the dev.
Read all 13 reviews

Contributors & Developers

“WC Price History for Omnibus” is open source software. The following people have contributed to this plugin.


“WC Price History for Omnibus” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “WC Price History for Omnibus” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • New: Plugin scans all product to start logging price history before any interaction with the product. (#84)
  • New: Plugin allows to clean the whole pricing history (#87)
  • New: Plugin allows to extend history by adding prices one day before the oldets one (#87)
  • Fixed: Some users had incorrectly recognized first product price change, showing a new price always as lowest one (#80)


  • New: Allow to decide what to display in case there was no price change in the tracked history span. (#77)


  • New: Basic compatibility with dynamic pricing plugins.
  • New: Displayed HTML is translatable with WPML and Polylang.
  • Hooks: Added filter wc_price_history_is_correct_place to make it possible to display price history info in custom location.
  • Hooks: Added filter wc_price_history_is_not_correct_when to stop displaying price history for your own conditions.
  • Fixed: Duplicated product had price history starting from original product last price.
  • Improvement: Do not store prices saved while product had status draft.


  • Improvement: Start saving the price before change with timestamps for last midnight and for 1 second ago. (#58)
  • Improvement: Clean history from empty values before save.
  • Fixed: Do not copy product price history when duplicating product. (#50)


  • Fixed: When price displayed with shortcode, it was not respecting sale settings and it resulted in showing the current price.


  • Fixed: When price displayed with shortcode, and it was zero, it should not be displayed.


  • Added filter to modify the minimal price before it is displayed


  • Added option to include sale price when counting minimal price (#41)
  • Added option to display line through over minimal price (#42)


  • Fixed: Placeholder %s was displayed instead of the lowest price after plugin update. (#39)
  • Improvement: Rearranged the plugin option’s page.
  • Improvement: Added settings link to plugins page.


  • Fix: Wrong number of decimals in price history information when displayed with shortcode (#36)


  • Optimization: moved class loading to plugins_loaded hook


  • Fix: Fixed fatal error.


  • Fix: Taxes not applied to the price when displayed with shortcode (#34).


  • Fixed issue with timezones offsets when saving history


  • Added toggle to display minimal price for related/upsell products on the single product page


  • Fixed problem that product had to be at least once manually saved to start tracking the history
  • Added ability to decide if minimal price should be displayed on product category pages and product tag pages


  • Handled variable products
  • Handled product taxes
  • Settings screen: count minimal price is not hidden now and label is adjusted to explain it applies only for products being on sale
  • Handled case when WooCommerce plugin is not active
  • Optimized minimal price calculation class


  • New: “30-day low” text is configurable now on Settings screen
  • Updated documentation and hint texts for better plugin usability


  • Added wc_price_history shortcode support
  • Added settings screen
  • Added ability to define where the price history should be displayed
  • Added ability to define how many days should be considered when calculating the lowest price
  • Added ability to define if the price history should be displayed only for products with price reduction
  • Added ability to define if minimal price count should start from current day or the first day of the sale
  • Link to European Commission Directive 98/6/EC Article 6a added to plugin settings screen
  • Added logging products which are on sale but do not have sale start date set


  • Plugin rewritten to store prices log in custom fields instead of post revisions
  • Added migration logic between revisions and custom fields


  • Initial release.