=== Per Category Product Ordering ===
Contributors: luminosagency
Tags: woocommerce, sorting, product category, merchandising
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Requires Plugins: woocommerce

Drag‑and‑drop product order per category for WooCommerce. Applies on category archives with “Default sorting”.
== Description ==
This plugin brings back a focused “Category Ordering” screen for WooCommerce so merchandisers can quickly:
* Pick a product category
* Drag to reorder products (with thumbnail, SKU, stock, and price columns)
* Save via AJAX

**Scope:** Your custom order only affects the chosen category archive when the front‑end sort is **Default sorting** (menu order). Other sort options (price, rating, latest, etc.) keep their native behavior.

**Why not just use menu order globally?** Because many stores want custom ordering in specific categories without changing global product ordering or interfering with user‑selected sorts.

== Installation ==
1. Install and activate WooCommerce.
2. Upload the plugin and activate it.
3. Go to **WooCommerce → Category Ordering** to choose a category and drag products into your preferred order.

== Frequently Asked Questions ==
= Does this affect search results or other queries? =
No. It only adjusts the order on **product category archives**, and only when the shopper’s sort is **Default sorting**.

= What happens if I disable the plugin? =
Your site will revert to WooCommerce’s normal ordering. No front‑end breakage. The plugin stores per‑category settings as term meta and includes an uninstall routine to remove them if you delete the plugin.

= Is it translatable? =
Yes. All strings are prepared for translation. You can contribute translations via translate.wordpress.org once it’s in the directory.

== Screenshots ==
1. Category picker with sortable product table
2. Drag‑and‑drop reorder with stock and price columns

== Changelog ==
= 1.0.1 =
Security: verify nonce and capability inside the admin render callback before reading GET input.
Security: keep AJAX save protected with capability + nonce checks.

= 1.0.0 =
Initial public release.
