| 开发者 | pihlfelt |
|---|---|
| 更新时间 | 2026年10月7日 17:11 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
[pihlcmp_lowest_price] shortcode — a discreet, theme-friendly line like "Lowest price last 30 days: 199 kr" that you can restyle or relabel. For a variable product it shows the lowest price any of its variations had. Nothing is ever added to your storefront unless you place it yourself.
Free version
No — it builds on it. The plugin stores supplier, currency and exchange rate details, and always writes the resulting cost to WooCommerce core's COGS field. Woo's own reports and exports keep working.
Only if you explicitly enable scheduled automatic runs in Settings — and even then, changes above your confirmation threshold are never auto-applied, locked and manually re-priced products are never touched, and every run is journaled and undoable. With the feature off (the default), every rule run and import produces a preview diff that you apply explicitly. Products you have adjusted manually are detected and skipped until you actively release them.
This plugin calculates and maintains your ordinary prices — it does not generate sale prices. A sale price on a product is yours: type it in WooCommerce's normal sale price field (a weekend campaign at a fixed price, say) and the plugin leaves that product's price alone for as long as the campaign is running or scheduled. When the campaign has ended, the product is priced by your rules again. The product's cost keeps being written to WooCommerce's cost field throughout. If you would rather keep ordinary prices up to date during campaigns, turn on "Let runs update the regular price even while a product is on sale" in Settings. A rule price that would land at or below your sale price is still never written — WooCommerce would delete the sale price — and the row is reported instead. Margin-based sale prices, on-sale flags and scheduled campaigns are part of the separate Pro plugin (see the link below).
Blank always means "leave unchanged" — a file can never accidentally clear something by omitting it. The only required columns are a cost column and one identifier column (product ID, supplier SKU, GTIN or SKU).
Yes. Every change the plugin makes is journaled, and price/cost edits made anywhere else (the product editor, other plugins, the REST API, scheduled sales) are logged too — visible under "Recent changes" on the product's Cost & Margin tab. This also gives you the lowest price of the last 30 days per product, the reference value the EU Omnibus rules require when marketing a price cut. The log starts at plugin activation; earlier history cannot be known.
Add the "Lowest price (30 days)" block where you want it — in the Single Product template, a product description or a product grid; inside a product context it finds the product on its own, and its sidebar lets you change or hide the label and set colours and size. Classic themes and page builders can use the [pihlcmp_lowest_price] shortcode instead (label="Your text:" changes the text, label="" shows the bare price, id="123" targets a product outside a product context). Both render the same discreet line: "Lowest price last 30 days: 199 kr". The output carries the CSS classes pihlcmp-lowest-price, pihlcmp-lowest-price-label and pihlcmp-lowest-price-value so you can style every part; no styling is imposed. The plugin never adds anything to your storefront on its own.
As many as you like. Each product is priced from one supplier's cost: pick the supplier on the product's Cost & Margin tab (or in each variation's box), enter the cost and save. To move a product to a different supplier, select the new supplier, enter its cost and tick "Remove cost row" — the old row is replaced in one save. Imports run one supplier's price list at a time, and the products list has a supplier column and filter so you can always see who supplies what.
All major currencies via the ECB daily reference rates (about 30), and roughly 130 more via the automatic fallback source. You can also enter exchange rates manually — manual rates always win.
[pihlcmp_lowest_price] shortcode. It finds the product on its own inside a product template or product grid, and its label, colours and size are set in the block sidebar.