=== Nolimit Views ===
Contributors: kristianwind
Tags: woocommerce, products, admin, catalog visibility, filters
Requires at least: 5.9
Tested up to: 7.1.2
Requires PHP: 7.4
Stable tag: 0.1.8
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Saved, named views of the WooCommerce product list — and catalog visibility as a column and a filter, which WooCommerce shows nowhere.

== Description ==

A shop accumulates products that are not simply "for sale". Products kept back
for manual orders. Products only a trade customer should find. Products that
exist so an old order still has something to point at. WooCommerce supports all
of this — through post status, catalog visibility and categories — and then
shows almost none of it on the screen where you work: the product list.

Catalog visibility is the sharp example. It decides whether a product appears
on the shop at all, it is set behind a small "Edit" link on the product screen,
and the product list has no column for it, no filter for it and nothing in
quick edit. On the shop this plugin was written for, nineteen of the thirty
live products are hidden from the catalog, and there was no screen in wp-admin
that said so.

Nolimit Views adds three things and invents nothing:

* **A Visibility column** on the product list, next to SKU, showing which of
  WooCommerce's four states each product is in — and whether it is featured.
* **A visibility filter** in the filter row, next to category and product type,
  so "show me everything hidden" is one click. It combines correctly with the
  filters WooCommerce already has.
* **Saved views**: name a combination of filters and it appears in the row of
  links above the list, next to All, Published and Trash. Yours by default, or
  shared with everybody who can edit products — and any of them can be the one
  the product list opens on, for you alone.

It also adds a screen under Products → Saved views that counts the catalogue by
status and by visibility, freshly every time it is opened.

There is no new labelling layer. Every view is built from fields WooCommerce
and WordPress already fill in, because a plugin that asks you to tag thirty
products before it does anything is a plugin that never gets used.

**No telemetry.** This plugin makes no request to anybody except its own update
feed. It has no account, no analytics and no upsell.

== Frequently Asked Questions ==

= What are the four visibility states? =

WooCommerce's own: shown in both the shop and search results; shop only;
search results only; hidden from both. They are stored as two terms, and the
middle two cross over in a way that is easy to get backwards — which is why
this plugin has a test whose only job is to assert the table is the right way
round.

= Are saved views private? =

By default a view belongs to whoever saved it. Anybody with the "manage
WooCommerce" capability can tick a box to show a view to everybody who can
edit products.

= Does it change my products? =

No. It reads status, visibility, categories and tags, and never writes to a
product. Deleting the plugin removes its saved views and nothing else.

= Does it need WooCommerce? =

Yes. Without WooCommerce there is no product list, and the plugin registers
nothing at all rather than failing.

== Changelog ==

= 0.1.8 =
* Nolimit Views now tells WooCommerce that it works with High-Performance Order
  Storage and the Cart and Checkout blocks, so it no longer appears under
  "Incompatible with WooCommerce features" on the Plugins screen. Nothing else
  changes.

= 0.1.7 =
* Fixes the plugin icon added in 0.1.6, which did not draw at all. WordPress
  shows it as an image, which is read as strict XML, and a note inside the file
  broke that. It is now valid, and a check fails the build if it ever is not.

= 0.1.6 =
* The plugin icon is a filled tile like every other Nolimit plugin. It was a
  bare mark on transparency, which on Dashboard -> Updates — where the seven
  sit in one column — was the only one that did not look like it belonged.
* Documentation, in docs/: what the plugin exposes, how it is built, how to
  set it up and how a release is cut. The hook list is generated from the
  source and a check now fails when the two drift apart, in either direction.

= 0.1.5 =
* Tested against WordPress 7.1.2 and WooCommerce 11.1.2, on PHP 7.4, 8.3 and
  8.4. The headers say so; WooCommerce shows that value to shop owners as an
  untested-plugin banner, which is what they read before pressing update.

= 0.1.4 =
* The status label on the shared Nolimit dashboard card is readable. It was
  white text on a white overlay, which lightens a background already chosen to
  carry white text — under the contrast small text needs on most of the
  family's colours. A family-wide change; every plugin takes it together.

= 0.1.3 =
* Fix: the plugin had no icon, so wp-admin showed a broken-image placeholder
  beside its name on Dashboard → Updates — the screen a site owner reads
  before deciding whether to press update. The updater had been pointing at a
  file that was never drawn.

= 0.1.2 =
* New: open the product list on a saved view. Pick one under Products → Saved
  views and it becomes yours alone — it changes nothing for anybody else, and
  the list says which view it is showing, with a link to the full list.
* Fix: the Visibility column now sits beside Price and Stock rather than next
  to WooCommerce's GTIN column, whose header is sized in `ch` against its
  English label and overflows onto its neighbour in other languages.
* The "Save this view" control is a button rather than a link, because it sat
  among four views and read as a fifth.

= 0.1.1 =
* Fix: the Visibility column header rendered one letter per line on a product
  list with many columns. The column had no width of its own, and wp-admin
  breaks a squeezed word between its letters rather than overflowing.

= 0.1.0 =
* First release. Visibility column, visibility and featured filters, saved
  views in the list table's own views row, and a catalogue overview screen.
