WooCommerce (Pro) — Pro

Products an agent can edit. Orders it can only read.

Products read and written; orders and customers read only, and always will be. A shop’s order history is a financial record, and there is no operation in the pair that could reach one indirectly.

Shops with a catalogue big enough that descriptions and pricing are a job, and an owner who would never let an agent near an order.

3 jobs

What people actually ask for.

Each of these is carried by named operations that exist in the release you can download today. The ids under every answer are the calls involved — nothing here is a plan.

“Rewrite the descriptions for everything in this category.”

Products are listed by category and updated individually, each write previewed and snapshotted.

  • product-category-list needs edit_products
  • product-list needs edit_products
  • product-update needs edit_products, re-checked as edit_product against the resolved product

“What sold last month?”

Orders and customers gate on manage_woocommerce alone, because they carry personal and financial data that product-editing rights should not open.

  • order-list needs manage_woocommerce
  • order-get needs manage_woocommerce
  • customer-list needs manage_woocommerce

“Change the price on this variable product.”

It refuses, and explains that a variable product’s price lives on its variations — rather than writing a value the shop would ignore.

  • product-get needs edit_products
  • product-create needs edit_products
The shape of it

8 operations, 6 of them reads.

Products read and edited; orders and customers read only, and always will be.

Needs: SiteHelm Pro on a licensed site, and WooCommerce 8.0 or newer. Where it is absent the operation refuses by name, rather than failing obscurely.

Every operation, with its policy

Reads

6 operations that only report. A read still asks WordPress for a capability against the object.

Writes

2 that change something — each one previewed as a diff, snapshotted, verified by reading the site back, and reversible from wp-admin.

Tier

This area is part of the Pro add-on. On an unlicensed site every call here refuses with IntegrationUnavailable rather than quietly doing nothing.

The limit

What it will not do here.

There is no order-update, no order-status-set and no customer write. Not in a higher tier, not behind a switch.

Note 1

There is no order-update, no order-status-set and no customer write. A shop’s order history is a financial record, and the dispatcher pair carries no operation that could reach one indirectly.

Note 2

Orders and customers gate on manage_woocommerce alone, because they carry personal and financial data that product-editing rights should not open.

Note 3

A variable product’s price lives on its variations. product-get says so, and product-update refuses a price change on one rather than writing a value the shop will ignore.

Next

Try it, or read further.

Get the free plugin What Pro costs How a write is guarded