Save hours of manual work by automating how your WooCommerce products are categorized.
Automatic Product Categories helps you keep your store structured, searchable, and up-to-date - whether you're managing 30 or 3,000 products.
Define flexible rules to assign product categories and tags based on product data, events, or schedules - no coding required.
Build rules with many condition types (including stock status, whether stock is managed, attribute values, attribute term names, and category lists with is/is not matching), reorder conditions as needed, and use inline help where selections work as multiselects.
Example use cases
- After imports or migrations - bring large catalogs in line by assigning categories and tags from product data as you standardize.
- Parent and child categories - e.g. when a product is in a child category, automatically add a parent category too.
- Stock or sales-based merchandising - organize or highlight products using stock status, stock quantity, total sales, or sale state.
- "New" or "recently updated" collections - use days since created or modified to keep time-based categories or tags accurate.
- Seasonal or promotional groups - move products in or out of promo categories using titles, tags, attributes, or scheduled runs.
More context and ideas on the BerryPress blog.
1.2.7
- Add: New condition "attribute term name" - text comparison on attribute term names across all attributes
- Add: New condition "category value" - select categories from list with is/is not matching
- Add: "is not" option for the "attribute value" condition
- Add: Tooltips explaining multiselect behavior for category value and attribute value conditions
- Add: Option to reorder rule conditions
1.2.6
- Fix: Stock status condition now works for products without "manage stock" enabled
- Add: New condition "manage stock enabled" (yes/no)
1.2.5
- Fix: Scheduled trigger issues
- Add: New hooks for plugin extensibility
1.2.4
- Add: Process rules in batches to avoid timeout issues
- Fix: Daily schedule rule execution
- Fix: potential run order issue
1.2.3
- Don't exclude the default category from the category list in rules
1.2.2
Fix: Resolved an issue where product rules failed to match tags and categories containing special characters (e.g. &)
1.2.1
- Fix: When bulk-editing rules, settings were not saved for newly added rules.
1.2.0
- Store rules in a separate table
- Add columns sorting
- Mixed styling changes
- Add created date column
1.1.8
- Fix new actions not saving
- Fix error outline icon not displaying
1.1.7
1.1.6
- Styling changes, optimize icon font size
- Minify CSS files
- Plugin check fixes
- Page length option save
1.1.5
- Fix potential memory issues
1.1.4
- Add: pagination to rule list
- Mixed small fixes
1.1.3
- Fix: Save all and run selected doesn't run the rule
1.1.2
- Fix: Limit submitted rule fields to prevent exceeding PHP max_input_vars
- Change: Update menu item
- Add documentation tooltips
- Update: Rename condition matches and adjust "not" condition behavior to resolve confusion with category/tag conditions
- Update: Rename condition comparison options
1.1.1
1.1.0
- Completely refreshed plugin UI.
- Refactored logic, removed unnecessary code, improved error handling.
- JavaScript: Fixed JS inconsistencies.
- Updated rule execution to apply to all product statuses, not just published ones.
- Add to conditions "product status"
- Add rule name field
- Rebrand to BerryPress
1.0.8
- Fix error when a rule references a category or tag that has been removed.
1.0.7
1.0.6
- Show "and" operator between multiple rule conditions
- Declare text domain
- Declare plugin dependency
1.0.5
- Add rule condition: Product total sales
- Add rule condition: Days since product created
- Add rule condition: Days since product modified
- Add rule condition: Product category
- Add the ability to automatically run rules daily on publicly published products
- Add case insensitive match types for "Product meta field" condition
- Improve UI layout on smaller monitors
- Fix: Certain comparison settings (for example, "less than") result in an exception when saving
- Fix: PHP fatal error related to exception
- Fix: Certain match settings on numeric conditions result in an exception when saving rules
- Fix: Exception when saving rule including a "Product price" condition
- Fix: JavaScript error related to "Product meta field" condition
- Fix: Product attribute value condition not working correctly
1.0.4
- When removing product categories due to an enabled rule not matching, add the default (Uncategorized) category if the product has no other categories
- Don't show the default (Uncategorized) category in the "Categories/Tags to Add/Remove" column
- Label tweak
1.0.3
- Added case-insensitive string matching options
- Added option not to remove categories/tags for non-matching rules
- Added product tag rule condition
- Clarified button label
1.0.2
- Add header comments to JS and CSS files
1.0.1
- Add an additional permissions check to admin functionality
1.0.0