Description
WooCommerce sends stock notifications to a single store-wide email address. Category Notifications for WooCommerce lets you route those notifications to additional recipients based on the product’s category — so the right people get notified about the right products.
Need your supplier to know when their products are running low? Want your warehouse manager to receive alerts only for items in their section? Have multiple category owners who each need to track their own range? This plugin makes that effortless.
Why use this plugin
- Skip the noise. Each recipient only gets notifications for the categories they care about.
- Multi-supplier shops. Notify each supplier when products from their range hit low stock or sell out.
- Multi-warehouse setups. Route alerts to the location that handles the affected category.
- Category managers. Give purchase managers, brand managers, or product owners alerts for just their range.
- Drop-shippers. Forward stock alerts to the supplier responsible for the product line.
Features
- Add unlimited rules — each with one or more include categories, optional exclude sub-categories, and one or more email recipients.
- Comma-separated email lists per rule (
a@example.com, b@example.com). - Hierarchical category support. Set a rule on a parent category and it automatically covers all child categories. Set a rule on a child category and it only covers that branch.
- Sub-category excludes. Include a parent category but exclude specific sub-categories that should be handled by a different recipient.
- Multi-include. One rule can match several categories at once, sharing the same recipient list and the same exclude set.
- Variation-aware. Variable products correctly use the parent product’s categories when a single variation hits the threshold.
- Rich select2 UI. Both include and exclude fields use WooCommerce’s enhanced select, with categories indented by hierarchy depth for easy navigation.
- Works alongside the standard WooCommerce stock notification — these are additional recipients, not a replacement.
- Translation-ready (
jalma-category-notifications-for-woocommercetext domain). Swedish (sv_SE) included. - No external services, no telemetry, no API keys.
How it works
- Configure rules at WooCommerce Category notifications: pick one or more include categories, optionally pick sub-categories to exclude, and enter the email addresses that should be notified.
- When a product reaches low stock or sells out, the plugin checks the product’s categories (and parent categories) against your rules.
- Matching rules fire and their email addresses receive a clear notification with the product name, current stock, and a link to edit the product.
This runs on top of WooCommerce’s existing low-stock / out-of-stock hooks, so it respects all your normal stock-notification settings (thresholds, manage-stock, etc.).
Screenshots
Installation
- Upload the plugin folder to
/wp-content/plugins/, or install via the Plugins Add New screen in WordPress. - Activate Category Notifications for WooCommerce through the Plugins menu.
- Make sure WooCommerce is active and that stock management and low-stock / out-of-stock notifications are enabled in WooCommerce Settings Products Inventory.
- Go to WooCommerce Category notifications to add your rules.
FAQ
-
Does this replace WooCommerce’s built-in stock notifications?
-
No. The store-wide WooCommerce notification still goes out as normal. This plugin adds extra recipients on top of that, filtered by category.
-
What happens if a product belongs to multiple categories?
-
All matching rules fire. Each rule’s email addresses receive one notification per stock event. Duplicate addresses across rules are de-duplicated, so each recipient only gets one mail per product per event.
-
Can I exclude specific sub-categories from a rule?
-
Yes. Each rule has an optional “Exclude categories” field where you can pick one or more categories to skip. This is useful when you want a parent-category rule to cover most of its branch but skip specific sub-categories that are handled by a different recipient. The exclusion is hierarchical too — excluding a category also covers its descendants.
-
Can a single rule match multiple categories?
-
Yes. The “Product category” field is a multi-select. One rule can include several categories, share the same email recipients, and share the same exclude list — useful for grouping several product lines under one supplier.
-
If I set a rule on a parent category, does it cover child categories too?
-
Yes. The plugin walks the full category tree. A rule on a parent category automatically covers all its descendants, regardless of how deep the hierarchy goes.
-
Does it work with variable products?
-
Yes. When a variation triggers a low-stock or out-of-stock event, the plugin uses the parent product’s categories to match against your rules. This means you only configure categories on the parent product, as you normally would in WooCommerce.
-
Will recipients get an email for every product they don’t care about?
-
No. A recipient only gets emails for products in categories that match their rule. If you want a recipient to get notifications for the whole store, just add a rule on a top-level category that contains everything.
-
How are emails sent?
-
Through WordPress’s standard
wp_mail()function. If you have an SMTP plugin (such as WP Mail SMTP, Post SMTP, FluentSMTP), it will be used automatically. -
Does this plugin store any personal data?
-
The configured email addresses are stored in the WordPress options table (
jcnwc_rules). No customer data is collected. No external services are contacted. No telemetry. -
Can I translate the plugin?
-
Yes. Use the
jalma-category-notifications-for-woocommercetext domain. Swedish (sv_SE) is included. Pull requests for more translations are welcome.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Category Notifications for WooCommerce” is open source software. The following people have contributed to this plugin.
Contributors“Category Notifications for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.
Translate “Category Notifications for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.2.1
- Re-style the PRO upsell card on the settings page so it no longer uses WordPress core notice classes. Same scope (only the plugin’s own settings page) and same content, but the visual is now a self-styled card with a small “Pro upgrade” label, distinct from a system message. Also drops the inline color/weight from the “Get Pro” link on the Plugins screen.
- PRO upsell card is now collapsible — click the × in the corner to shrink it down to just the “Pro upgrade” pill; click the pill to expand it back. State persists per browser via localStorage.
2.2.0
- New: a “Get Pro” link in the Plugins list and a small notice at the top of the settings page when the PRO add-on isn’t installed. Both auto-hide when PRO is active.
- New: clicking “Get PRO” opens the LemonSqueezy checkout in an overlay (lemon.js) instead of a new tab. After purchase, the same notice swaps into a short installer flow that fetches your license, downloads PRO from our update server, installs and activates it, and pre-fills the license key in PRO’s License tab — without leaving wp-admin. A paste-the-key fallback is shown if anything in the auto flow stalls.
- The license itself is now activated against LemonSqueezy during the install, so any activation error (most often “this license has reached its activation limit”) shows up immediately on the install notice rather than three steps later when you’d otherwise have clicked Activate manually.
2.1.2
- Developer: added two new actions for add-on plugins that need to render an extra column in the rules table.
jcnwc_render_rule_header_before_emailsfires inside a<th>cell before the emails column, andjcnwc_render_rule_field_before_emailsfires inside the matching per-row<td>cell. The column is only rendered when at least one handler is attached, so the table layout stays clean for end users without add-ons.
2.1.1
- Developer: added action
jcnwc_render_after_headingon the settings page so add-on plugins can render a tab nav or upgrade banner between the heading and the rules form. No visible changes for end users.
2.1.0
- Renamed plugin slug to
jalma-category-notifications-for-woocommercefor wp.org compliance. - Security: hardened settings save (nonce, escape at output, sanitize-on-use annotations).
- Compatibility: tested up to WordPress 6.9. License aligned to GPLv2 or later in plugin header.
- Migration: existing rules are automatically copied from the previous option keys (
jwccn_rules,jwcem_rules) on first activation.
2.0.2
- Developer: added extension hooks for add-on plugins. Filters:
jcnwc_rules,jcnwc_should_notify,jcnwc_rule_recipients,jcnwc_notification_subject,jcnwc_notification_message,jcnwc_notification_headers,jcnwc_sanitize_rule. Actions:jcnwc_render_rule_extras,jcnwc_after_notification_sent. No visible changes for end users.
2.0.1
- Compatibility: declared HPOS (High-Performance Order Storage) compatibility. This plugin only listens on product-level stock hooks and never touches order data, so it’s safe in both the legacy and the new custom order tables.
2.0.0
- New: each rule can now include multiple categories with multi-select.
- New: each rule can now exclude one or more sub-categories.
- Improvement: both the include and exclude category fields use WooCommerce’s enhanced select (select2) with hierarchical indentation.
- Improvement: settings dropdown shows product categories in hierarchical order.
- Fix: product variations now correctly resolve categories from their parent product.
- Fix: hardened settings save (wp_unslash, is_array guards, escaped row index).
1.0.0
- Initial release.



