Title: WC Price History
Author: kkarpieszuk
Published: <strong>دسمبر 28, 2022</strong>
Last modified: اکتوبر 15, 2026

---

Search plugins

![](https://ps.w.org/wc-price-history/assets/banner-772x250.png?rev=3654312)

![](https://ps.w.org/wc-price-history/assets/icon-256x256.png?rev=3654312)

# WC Price History

 By [kkarpieszuk](https://profiles.wordpress.org/kkarpieszuk/)

[Download](https://downloads.wordpress.org/plugin/wc-price-history.3.2.8.zip)

 * [Details](https://bcc.wordpress.org/plugins/wc-price-history/#description)
 * [Reviews](https://bcc.wordpress.org/plugins/wc-price-history/#reviews)
 *  [Installation](https://bcc.wordpress.org/plugins/wc-price-history/#installation)
 * [Development](https://bcc.wordpress.org/plugins/wc-price-history/#developers)

 [Support](https://wordpress.org/support/plugin/wc-price-history/)

## Description

[WC Price History](https://wcpricehistory.com) plugin allows you to 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 law which specifies
price reduction announcement policy.

### Usage

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.

## Screenshots

[⌊Lowest price information displayed on single product page.⌉⌊Lowest price information
displayed on single product page.⌉[

Lowest price information displayed on single product page.

[⌊WC Price History configured according to Omnibus directive.⌉⌊WC Price History 
configured according to Omnibus directive.⌉[

WC Price History configured according to Omnibus directive.

## Installation

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

## FAQ

### What is Omnibus directive and how to configure this plugin to be compliant with?

European Commission Directive 98/6/EC Article 6a – in short Omnibus directive – 
specifies price reduction announcement policy.

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 plugin working well with discount addons?

That depends on the addon. Some addons may not work with the plugin, some may work.
For time being we recommend using the plugin with the following addon:

https://wordpress.org/plugins/woo-discount-rules/

This one was confirmed to work well with the plugin. If you know of other addons
which work with the plugin, please let me know on the forum! I will add it to the
list.

### 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](https://github.com/kkarpieszuk/wc-price-history/issues).

### I like your work, are you available for hire?

Yes, I am available for hire. Please contact me at [LinkedIn](https://linkedin.com/in/konrad-karpieszuk-38528b11/).

## Reviews

![](https://secure.gravatar.com/avatar/6d7616c0b4c9dde076ce99c3dd4c5d36b7a522d1f7a129957de2c35b3d33a976?
s=60&d=retro&r=g)

### 󠀁[Perfect minimal plugin without bloat](https://wordpress.org/support/topic/perfect-minimal-plugin-without-bloat/)󠁿

 [Paul Bystrzan](https://profiles.wordpress.org/inkm/) ستمبر 29, 2026 1 reply

I'm happy to say it's a plugin without bloat that meets legal requirements while
doesn't even need to be updated so often – so clean and good code. I also love this
plugin was made by WordPress Contributor in Poland. Thank you Konrad!

![](https://secure.gravatar.com/avatar/941281baab2184f8a644ae67f3e1155d090d6e5d9615069cf5d1aed7bddb2025?
s=60&d=retro&r=g)

### 󠀁[Super](https://wordpress.org/support/topic/extra-78/)󠁿

 [andrzejpokrywka](https://profiles.wordpress.org/andrzejpokrywka/) اگست 13, 2026

Bardzo dobry plugin.

![](https://secure.gravatar.com/avatar/81a830fbc6d904d748345a5bc1e408eced8611d2710ae86ff23c7b15133e1112?
s=60&d=retro&r=g)

### 󠀁[Great plugin, great contact](https://wordpress.org/support/topic/great-plugin-great-contact-2/)󠁿

 [pitreekk](https://profiles.wordpress.org/pitreekk/) جُون 29, 2026 1 reply

I highly recommend it—it's a great plugin!

![](https://secure.gravatar.com/avatar/d4932e8576071c4297250ddeef2ab50fc21d22af481d19a8758f2b2c0e5b22d7?
s=60&d=retro&r=g)

### 󠀁[Great plugin](https://wordpress.org/support/topic/great-plugin-41369/)󠁿

 [siteimpulse](https://profiles.wordpress.org/siteimpulse/) مارچ 19, 2026 1 reply

Simple, yet effective.

![](https://secure.gravatar.com/avatar/fbb4ea8c32bec8ac8a50c74409214c4ef596b40c4f5ee7ad467cb0b545812b0f?
s=60&d=retro&r=g)

### 󠀁[Great plugin, great author](https://wordpress.org/support/topic/great-plugin-great-author-18/)󠁿

 [woooooky](https://profiles.wordpress.org/woooooky/) پروری 13, 2026 1 reply

Even if something isn’t working properly with the plugin, report it to the author.
In my case, there were a few minor issues (due to WordPress updates and functionality
changes), but when I contacted the author, he resolved all of them quickly and with
great attention to detail. Now everything in my shop works perfectly. I truly recommend
both the plugin itself and the author’s level of customer service.

![](https://secure.gravatar.com/avatar/fb25b0187d057a0c6aa361180156ba9fce66ed1058886d252f18f847a02ad3e0?
s=60&d=retro&r=g)

### 󠀁[brak kluczowej funkcjonalności](https://wordpress.org/support/topic/brak-kluczowej-funkcjonalnosci/)󠁿

 [jerri69](https://profiles.wordpress.org/jerri69/) جنوری 29, 2026 3 replies

Plugin byłby idealny – lekki, nie robi śmietnika w bazie, ale jednak bezużyteczny
do dużych sklepów. W przypadku hurtowej zmiany cen promocyjnych (np. przy pomocy
WP Sheet Editor) nie zauważa zmiany i cena którą wpisujemy zapisuje się jako ta 
ostatnia… szkoda

 [ Read all 27 reviews ](https://wordpress.org/support/plugin/wc-price-history/reviews/)

## Contributors & Developers

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

Contributors

 *   [ kkarpieszuk ](https://profiles.wordpress.org/kkarpieszuk/)

“WC Price History” has been translated into 2 locales. Thank you to [the translators](https://translate.wordpress.org/projects/wp-plugins/wc-price-history/contributors)
for their contributions.

[Translate “WC Price History” into your language.](https://translate.wordpress.org/projects/wp-plugins/wc-price-history)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/wc-price-history/),
check out the [SVN repository](https://plugins.svn.wordpress.org/wc-price-history/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/wc-price-history/)
by [RSS](https://plugins.trac.wordpress.org/log/wc-price-history/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 3.2.8

 * Fix: Lowest price in the last N days (database tables and legacy storage) now
   includes the last known price before the window (carry-forward), so a recent 
   price increase no longer hides the earlier lower price that was still in effect
   during most of the period. (#222)
 * Enhancement: Warn on the product edit screen (classic and WooCommerce block/React
   product editor, including SPA navigation) and products list when sale-start Omnibus
   counting is enabled but a product on sale has no scheduled sale start date — 
   including variable products where only some on-sale variations lack a start date.(#
   130)

#### 3.2.7

 * Fix: Variable products with sale dates on variations no longer show the promotional
   price as the Omnibus lowest on the parent, shop/category listings, or shortcode
   when counting from sale start. (#204, #125)

#### 3.2.6

 * Fix: When counting from sale start, an empty 30-day pre-sale window now uses 
   the last known price before the window (carry-forward) instead of the global 
   minimum from all older history. (#213)

#### 3.2.4

 * Enhancement: Optional WooCommerce REST API fields `wc_price_history.lowest` and`
   wc_price_history.history` (settings under WooCommerce  Price History, off by 
   default). (#202)
 * Enhancement: More data in exported JSON file (#195)
 * Fix: When counting from sale start, if the configured period before the sale 
   has no history entries (e.g. no product edits for a long time), use the lowest
   price from older history still before the sale start. (#208)
 * Compatibility: Added compatibility with WooCommerce Product Bundles plugin: if
   bundled products are priced individually, it was not taken into account when 
   stored Bundle Product in history. Requires WC Price History Pro 1.0.1 or later.(#
   145)

#### 3.2.3

 * Fix: “Day before product went on sale” – lowest price now excludes sale start
   moment (was showing promotional price). (#192)

#### 3.2.2

 * Fix: Custom DB tables – when saving the first price for a product, save it for
   the current moment and for 24h and 48h earlier so “lowest price in 30 days” has
   data from day one. Use NULL for sale_price when not set (not 0). (#188)
 * Pro: Promotional widget for Pro version. (#190)

#### 3.2.1

 * Fix: Shortcode [wc_price_history] now respects the “defer lowest price” setting
   for variable products: shows placeholder until a variant is selected instead 
   of the lowest price across all variations. (#185)

#### 3.2.0

 * Fix: Lowest price (30-day low) now displays on a new line in themes that use 
   flex/inline price layout (e.g. Twenty Twenty-Five). (#183)
 * Enhancement: Added option to defer displaying lowest price for variable products
   until a variant is selected. (#185)

#### 3.1.0

 * Fix: The lowest product variant prices were not displayed if product page was
   displayed with Gutenberg Blocks (#181)

#### 3.0.1

 * Show more detailed plugin status report (#174)

#### 3.0.0

 * Database Migration: Price History moved from Post Meta to Custom Tables for better
   performance. See https://wcpricehistory.com/tuorials-howtos/docs/migration-to-
   database-tables-in-3-0/?utm_source=readme&utm_medium=changelog&utm_campaign=wc-
   price-history (#98)
 * New: Minimal price displayed with shortcode is now updated when product variant
   is changed. (#169)

#### 2.2.2

 * New: Added filter `wc_price_history_variations_add_history_lowest_price` to filter
   the lowest price for variations. (#167)

#### 2.2.1

 * Promo: Hire Me Section (#165)

#### 2.2.0

 * Fix: Plugin sometimes displayed “lowest price: 0” after 30 days when price history
   became empty due to time filtering. ( #159 )
 * Fix: Variable products: when product had related products their prices where 
   concatenated in the price output. (#161)

#### 2.1.9

 * Fix: Variable products: when user select variant, the main price was reset sometimes
   to zero. (#154)

#### 2.1.8

 * Improvement: First history scan now targets products more precisely (#148)
 * New: If the first scan gets stuck in a never-ending state, it is now possible
   to force its termination from the settings screen (#148)

#### 2.1.7

 * New: Added action to add custom fields to settings page. (#137)
 * New: Added filter for the lowest price HTML before displaying it. (#139)
 * New: Added filter for the display text from template. (#139)
 * Fixed: Prices displayed with shortcode were not possible to filter to remove 
   decimals. (#141)

#### 2.1.6

 * Maintenance: Prepare for replacement of Freemius with Keygen. (#135)

#### 2.1.5

 * Maintenance: Updated content displayed on plugin page in WordPress repository.(#
   128)
 * Maintenance: Plugin passes now Plugin Check Plugin tests. (#133)
 * Reverted: Removed import feature. (#131)

#### 2.1.4

 * Maintenance: Added PHPStan rule to check if classes with register_hooks() method
   is instantiated only in PriorPrice\Hooks::plugins_loaded() method. (#116)

#### 2.1.3

 * Fixed: Plugin was not available on mutlisite installations. (#100)
 * Fixed: Saved variable products sometimes had lowest price set to zero. (#111)
 * New: Added debug feature to export product with price history to JSON file and
   import it back. (#109)
 * Maintenance: Added build script to automate plugin release process. (#103)
 * Maintenance: Fixed unit tests. (#113)

#### 2.1.1

 * Fixed: Reverted change #89 from 2.1
 * Fixed: Price selection for sale start was comparing saved historicial timestamps
   in GMT0 with timestamp of the sale start with local offset (#96)

#### 2.1

 * New: Additional public methods for external integrations. (#91)
 * Fixed: Price from sale start was incorrectly included into history checking if
   product was on sale for at least one day (#89)
 * New: Freemius integration. (#94)
 * Fixed: Displayed price history was not updated on product screen when variant
   selection was changed (#79)

#### 2.0.0

 * 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)

#### 1.9.0

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

#### 1.8.0

 * 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.

#### 1.7.4

 * 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)

#### 1.7.3

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

#### 1.7.2

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

#### 1.7.1

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

#### 1.7

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

#### 1.6.6

 * 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.

#### 1.6.5

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

#### 1.6.4

 * Optimization: moved class loading to plugins_loaded hook

#### 1.6.3

 * Fix: Fixed fatal error.

#### 1.6.2

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

#### 1.6.1

 * Fixed issue with timezones offsets when saving history

#### 1.6

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

#### 1.5

 * 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

#### 1.4

 * 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

#### 1.3

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

#### 1.2

 * 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

#### 1.1

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

#### 1.0

 * Initial release.

## Commercial plugin

This plugin is free but offers additional paid commercial upgrades or support. [View support](https://wcpricehistory.com/)

## Meta

 *  Version **3.2.8**
 *  Last updated **3 days ago**
 *  Active installations **5,000+**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.2 or higher **
 *  Languages
 * [English (US)](https://wordpress.org/plugins/wc-price-history/), [Hungarian](https://hu.wordpress.org/plugins/wc-price-history/),
   and [Polish](https://pl.wordpress.org/plugins/wc-price-history/).
 *  [Translate into your language](https://translate.wordpress.org/projects/wp-plugins/wc-price-history)
 * Tags
 * [history](https://bcc.wordpress.org/plugins/tags/history/)[omnibus](https://bcc.wordpress.org/plugins/tags/omnibus/)
   [prices](https://bcc.wordpress.org/plugins/tags/prices/)[woocommerce](https://bcc.wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://bcc.wordpress.org/plugins/wc-price-history/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  27 5-star reviews     ](https://wordpress.org/support/plugin/wc-price-history/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/wc-price-history/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/wc-price-history/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/wc-price-history/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/wc-price-history/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/wc-price-history/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/wc-price-history/reviews/)

## Contributors

 *   [ kkarpieszuk ](https://profiles.wordpress.org/kkarpieszuk/)

## Support

Issues resolved in last two months:

     0 out of 1

 [View support forum](https://wordpress.org/support/plugin/wc-price-history/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://buycoffee.to/wpzlecenia)