=== KZB Product Price List ===
Contributors: kzbstudio
Tags: woocommerce, price, price list, sale price, bulk edit
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.1.4
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Manage WooCommerce product prices from a single, sortable table — filter by category or stock status and edit in bulk.

== Description ==

KZB Product Price List adds a dedicated admin page that lists all your WooCommerce products (including variations) in a clear, sortable table. You can update regular prices and sale prices one by one — with optional promotion start and end dates — or apply bulk changes to multiple products at once.

**Key features:**

* View all products and their variations in one table
* Filter by category and stock status (in stock / out of stock / on backorder)
* Sort by product name, SKU, or price
* Edit regular price and sale price (promotional price) inline — including optional start/end dates
* Bulk price update — adjust regular or sale price by percentage or fixed amount, or clear sale prices
* Fully compatible with simple and variable products
* Translatable (`.pot` file included, Polish translation bundled)

**Requirements:**

* WordPress 6.0 or higher
* WooCommerce 7.0 or higher
* PHP 7.4 or higher

== Installation ==

1. Upload the `kzb-product-price-list` folder to the `/wp-content/plugins/` directory, or install the plugin directly through the WordPress plugin screen.
2. Make sure WooCommerce is installed and active.
3. Activate the plugin through the **Plugins** screen in WordPress.
4. Go to **Product Price List** in the WordPress admin menu.

== Frequently Asked Questions ==

= Does the plugin support variable products? =

Yes. Variable products are expanded automatically and each variation is shown as a separate row with its own price.

= Does editing a price here update the WooCommerce product? =

Yes. The plugin uses WooCommerce's own product setters (`set_regular_price`, `set_sale_price`, `set_date_on_sale_from`, `set_date_on_sale_to`) and saves via `WC_Product::save()`, so WooCommerce handles all internal recalculations correctly.

= Can I set a sale price with a start and end date? =

Yes. Each product row has a calendar button (📅) next to the sale price input. Click it to reveal date pickers for the promotion start and end dates. Leaving the dates empty makes the sale price active indefinitely. Clearing the sale price input removes the promotion entirely.

= Is the plugin translatable? =

Yes. A `.pot` template file and a Polish (`pl_PL`) translation are bundled. You can add new languages by creating `.po` / `.mo` files in the `languages/` directory.

= Does it work with WooCommerce HPOS (High-Performance Order Storage)? =

The plugin does not interact with order storage — it only reads and writes product data, so HPOS has no impact.

== Screenshots ==

1. Product price list table with filtering and sorting controls.
2. Inline price editing and bulk price update — change by percentage or fixed amount.

== Changelog ==

= 1.1.4 =
* Added validation: sale start date must be before the end date.
* Fixed: invalid sale date format now returns an error instead of silent fallback.

= 1.1.3 =
* Added Portuguese (pt_PT) and Swedish (sv_SE) translations.

= 1.1.2 =
* Added French (fr_FR), Czech (cs_CZ), and Slovak (sk_SK) translations.

= 1.1.1 =
* Added German (de_DE), Spanish (es_ES), and Italian (it_IT) translations.
* Updated .pot template file.

= 1.1.0 =
* Added sale price (promotional price) editing — inline input with optional start and end dates.
* Added bulk actions for sale price: adjust by percentage, adjust by fixed amount, or clear sale price from selected products.
* Name and SKU merged into a single column for a cleaner layout.
* Added rating notice — shown after 14 days of use with options to rate, snooze, or dismiss.
* Plugin options are now cleaned up on uninstall.

= 1.0.3 =
* Added stock status column to the product list — displays In Stock / Out of Stock / On Backorder with a colour-coded badge and quantity (when stock management is enabled).

= 1.0.2 =
* Added product status column with colour-coded badge (Active / Draft / Private / Pending).
* Product name and thumbnail are now links to the product edit page.
* Product types and statuses are now translated server-side; translations updated for pl_PL and en_US.
* Inactive and draft products are now visible in the list.
* Fixed pagination duplicating on every list reload.
* Pagination redesigned: centred, page counter displayed between navigation arrows.
* WordPress 7.0 compatibility confirmed.

= 1.0.1 =
* Visual changes: improved filter bar and product list layout.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.2 =
Added French, Czech, and Slovak translations — no upgrade steps required.

= 1.1.1 =
Added German, Spanish, and Italian translations — no upgrade steps required.

= 1.1.0 =
New sale price editing, bulk sale price actions, and UI improvements — no upgrade steps required.

= 1.0.3 =
New stock status column — no upgrade steps required.

= 1.0.2 =
New features and bug fixes — no upgrade steps required.

= 1.0.1 =
Visual improvements — no upgrade steps required.

= 1.0.0 =
Initial release — no upgrade steps required.
