WordPress plugin intelligence profile

W3S API Extension for Woocommerce

Enhances your store’s REST API by adding powerful, flexible endpoints. Stay tuned more Endpoints are coming!

WP PlugIndex snapshot

Current directory snapshot

Tested up to WordPress 7.1
Current version1.1.0
WordPress coverageTested up to WordPress 7.1
Minimum stackWP 6.7 · PHP 7.4
Directory statusactive
Last directory update20 Aug 20262mo ago
Active installationsNewAdoption metric — not a quality score
WordPress.org ratingNo WordPress.org ratings yet
Official packageDirect from WordPress.org

Repository metrics are context, not quality scores. Active installations measure adoption and can strongly reflect a plugin’s age and historical popularity. Ratings, recent updates and “Tested up to” metadata also do not guarantee modern code, error-free operation, security, feature completeness or suitability for a particular site. Why active installs don’t tell the whole story →

WP PlugIndex currently records W3S API Extension for Woocommerce version 1.1.0 as active, updated 2mo ago and tested up to WordPress 7.1.

Overview

About this plugin

Enhances your store’s REST API by adding powerful, flexible endpoints.

Stay tuned more are coming!

Add or Remove a Single Category

Easily append or remove one category at a time—by numeric ID or slug—using simple POST/PUT/PATCH or DELETE requests to

/wp-json/wc/v3/products/{product_id}/categories/{identifier}

Batch Manage Multiple Categories

In a single call, add or remove multiple categories at once via JSON payloads to

/wp-json/wc/v3/products/{product_id}/categories

Supply an array of IDs or slugs under the “categories” key to update your product’s category list in bulk.

Automatic Slug Resolution

Pass slugs like “summer-collection” — or non-Latin slugs such as “ανδρικά” — and the plugin will resolve them to the correct WooCommerce term IDs on the fly—no extra lookups required.

Non-Destructive Updates

Neither endpoint touches other product data. Categories are merged or pruned transparently without overwriting prices, stock, attributes, or any other fields.

Plays Well With WooCommerce

updated webhooks fire, and the store’s default category is applied if a product is left without one.

Built-In Validation & Security

Sanitization of all inputs (IDs and slugs) to guard against bad data; the batch payload is validated against a schema.

Permission checks mirror WooCommerce core: only users allowed to edit the product (Shop Manager, Admin) can modify its categories.

Clear, standardized error codes (w3s_api_extension_invalid_product and w3s_api_extension_invalid_product_category) for consistent API responses. Unknown category IDs and slugs both return 404.

W3S API Extension for WooCommerce installs alongside the core WooCommerce REST API, requires no additional configuration, and works out of the box.

Endpoints Documentation

Product Categories

- Add a single category

  • Type: HTTP request
  • Endpoint: `/wp-json/wc/v3/products/{product_id}/categories/{identifier}`
  • Methods: POST, PUT, PATCH
  • Examples:

com/wp-json/wc/v3/products/125/categories/18 \

-u consumer_key:consumer_secret

com/wp-json/wc/v3/products/125/categories/my-category \

-u consumer_key:consumer_secret

- Remove a single category

  • Type: HTTP request
  • Endpoint: `/wp-json/wc/v3/products/{product_id}/categories/{identifier}`
  • Methods: DELETE
  • Examples:

com/wp-json/wc/v3/products/125/categories/18 \

-u consumer_key:consumer_secret

com/wp-json/wc/v3/products/125/categories/my-category \

-u consumer_key:consumer_secret

- Batch add categories

  • Type: HTTP request
  • Endpoint: `/wp-json/wc/v3/products/{product_id}/categories`
  • Methods: POST, PUT, PATCH
  • Example:

com/wp-json/wc/v3/products/125/categories \

-u consumer_key:consumer_secret \

-H “Content-Type: application/json” \

-d ‘{“categories”: [1,”my-category”,3,”my-category-1″]}’

- Batch delete categories

  • Type: HTTP request
  • Endpoint: `/wp-json/wc/v3/products/{product_id}/categories`
  • Methods: DELETE
  • Example:

com/wp-json/wc/v3/products/125/categories \

-u consumer_key:consumer_secret \

-H “Content-Type: application/json” \

-d ‘{“categories”: [1,”my-category”,3,”my-category-1″]}’

Extra notes

  • Strings that include only digits are parsed as IDs, everything else as a slug. Slugs may contain any characters except “/”; URL-encode them when needed (the batch endpoint takes them in the JSON body, so no encoding is required there).
  • The batch endpoints also accept form-encoded `categories[]=…` parameters or a comma-separated string. An empty or missing list returns a standard 400 `rest_missing_callback_param`/`rest_invalid_param` error.
  • Removing a product’s last category assigns the store’s default category (“Uncategorized”), exactly as WooCommerce does in the admin.
  • Every response is the product’s resulting list of category terms.
WordPress.org metadata

Plugin tags

Topics listed for this plugin in the WordPress.org directory.

  • api
  • categories
  • extension
  • woocommerce
Compatibility & maintenance

Compatibility & maintenance

Tested with WP 7.1

Marked as tested with the current WordPress 7.1 release.

Current WordPress releaseWordPress 7.1
WordPress.org Tested up to7.1
Minimum requirementsWordPress 6.7 · PHP 7.4
Update activity20 Aug 20262mo ago

“Tested up to” is directory metadata supplied by the plugin author. WP PlugIndex does not turn an older declaration into a claim that the plugin is incompatible.

Changes recorded by WP PlugIndex

Recent tracked changes

No tracked version or compatibility changes have been recorded by WP PlugIndex yet.

Tracking & source

WP PlugIndex tracks public WordPress.org directory metadata and records selected version, compatibility and availability changes as they are detected.

Plugin watchlist

Watch this plugin

Sign in to your WP PlugIndex account or create a free account. Free accounts can watch up to 5 plugins and see what changed.

Watch limit

Watchlist limit reached

You have reached your current active watch limit.