Automatic Product Categories for WooCommerce
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. Features ✅ Rule-based automation for WooCommerce products ✅ Automatically assign (add or remove) categories and tags based on product data ✅ Broad set of rule conditions – see the Available conditions section ✅ Reorder conditions in the rule editor ✅ Support for custom fields (product meta) ✅ Event triggers (on product creation or update) ✅ Scheduled rule execution (run daily) ✅ Works with variable, grouped, and simple products Available conditions These conditions are included in the free plugin (match types vary by condition – text, numeric, exact list, is/is not, and taxonomy-style rules where noted): Title – product title Description – product description Price – product price Total sales – lifetime sales amount Type – product type (simple, variable, etc.) Days since created / days since modified – time since product dates Status – post status (published, draft, etc.) Stock status – WooCommerce stock status (including products without manage stock) Manage stock enabled – yes/no Stock quantity – numeric quantity when stock is managed Is on sale – yes/no Attribute value – pick an attribute and match term(s); supports is/is not style matching Attribute term name – text comparison against attribute term names across all product attributes Meta field – value of a chosen product meta key Category value – pick categories from a list; match whether the product is / is not in those categories Category names – text matching against assigned category names (several match modes) Tag names – text matching against assigned tag names (several match modes) Pro adds more conditions, extra match types for list-based conditions, custom-taxonomy actions, and the workflow features below. Details: Automatic Product Categories Pro. 🚀 Pro Features Automatic Product Categories PRO extends the free plugin with stronger rule management, richer conditions, and safer testing. Rule management & workflow 🔥 Dry Run – run a rule and preview what would change without applying changes live 🔥 Run summary – per-product results showing which terms were added or removed. 🔥 Search – search the rules list 🔥 Filters – filter rules by enabled/disabled and by group 🔥 Groups – tag rules with groups (dedicated column + filtering) 🔥 Clone rules and clone conditions in one click 🔥 Import / export rules as JSON from a dedicated admin screen Scheduling 🔥 Hourly and weekly scheduled runs, in addition to daily (free) Pro conditions, match types, and actions You get everything in Available conditions, plus extras aimed at larger or more customized catalogs. Custom taxonomy names (e.g. brand name) – For brands, vendors, and other product taxonomies beyond core categories and tags, you can match the names of assigned terms using the same kinds of rules you already use for category/tag name conditions. (WooCommerce product attributes stay covered by the free attribute conditions above.) Brand value – If your site registers the product_brand taxonomy, choose brands from a searchable list and match them like category value (including options such as is/is not, only these terms, or whether a value is set at all, where the UI offers them). Index – Match products by their position as the rule runs (for example, “skip the first 10 products”). Probability (%) – Each product gets a random chance to match (0-100%). Use it when you want a different random subset of products each time the rule runs. Probability (count) – About N products match each run, chosen at random from your catalog – handy for a small rotating spotlight without maintaining a list by hand. Richer list matching (Pro) – On attribute, category, brand, and similar pick-list conditions, Pro adds stricter options: only these exact terms, or is set / is not set when you care whether a field has any value. Actions on custom taxonomies – Rules can add or remove terms on those same taxonomies (such as brands), not only on WooCommerce categories and tags. UI 🔥 Searchable (SelectWoo) dropdowns for long lists when picking categories, tags, and taxonomy terms Support 🔥 Priority support from the BerryPress team Planned Features: 🔥 Advanced rule logs 🔥 Schedule rule execution on specific dates 🔥 Group conditions (Pro) – in development: organize conditions into groups inside one rule and combine those groups with AND/OR logic, so advanced setups stay readable. This will ship in a future Automatic Product Categories Pro release, not in the free plugin. 👉 Get Pro: Automatic Product Categories Pro Something missing? The best features often start with someone saying, “I wish the plugin could just…” If a condition, action, or workflow would make your store easier to run, we want to know. Tell us what you need – a one-off use case, a compatibility question, or an idea for the roadmap. Your feedback helps us prioritize fixes and new capabilities that matter to WooCommerce merchants, not just a feature checklist. Join the conversation on the WordPress.org support forum – ask for help, suggest improvements, or share how you automate categories and tags. We read the threads and use them to steer development. Prefer a community space? BerryPress – WordPress Plugins Community – tips, questions, and store owners swapping how they use WooCommerce automation. 📚 Documentation Full setup instructions 📦 Installation Upload the plugin files to the /wp-content/plugins/automatic-product-categories directory or install via the WordPress Plugins screen. Activate the plugin. Go to BerryPress -> Automatic Product Categories in the admin menu. Start creating rules to automate your product categorization.
Top keywords
- product26×2.51%
- categories18×1.74%
- conditions17×1.64%
- match12×1.16%
- pro11×1.06%
- products11×1.06%
- rule11×1.06%
- rules11×1.06%
- stock11×1.06%
- category9×0.87%
- tags9×0.87%
- attribute8×0.77%
Enable Abilities for MCP
Enable Abilities for MCP gives you full control over which WordPress Abilities are available to AI assistants through the MCP (Model Context Protocol) Adapter. WordPress 6.9 introduced the Abilities API, allowing external tools to discover and execute actions on your site. This plugin extends that functionality by registering a comprehensive set of content management abilities and providing a simple admin interface to toggle each one on or off. Connect from claude.ai with just a URL Since version 2.1 the plugin ships an embedded OAuth 2.1 server built for claude.ai custom connectors. Add your site in claude.ai → Settings → Connectors, log in with your WordPress user, approve the consent screen — connected. No Client ID, no Application Password, no local configuration. Works from the claude.ai web app, mobile apps, and Claude Desktop Each team member authenticates with their own WordPress account and role — a subscriber can never do what only an editor should Every ability execution lands in the activity log under the real user’s name Works on single sites, subdirectory installs, and multisite networks (network-activate so the main site serves the OAuth discovery documents for every subsite) Prefer tokens? Application Passwords (per-user) and a single-admin Bearer token connect Claude Desktop / Claude Code, OpenAI Codex CLI, and Google Antigravity — the Connection tab generates ready-to-paste configuration for each client, and fills in your credentials automatically. Features 102 abilities organized in 21 categories: Core, Read, Write, SEO (Rank Math), SEO (SEOPress), SEO (Yoast), Navigation Menus, Utility, Multilanguage, Custom Post Types, WooCommerce, The Events Calendar, Code Snippets, JetEngine Options Pages, JetEngine Query Builder, Elementor, LearnDash, Tutor LMS, AI Agent Readiness (llms.txt), FSE Block Templates, and Accessibility (WCAG) WooCommerce integration — dedicated abilities to manage products, orders, and customers using the native WooCommerce API (HPOS-compatible, formally declared) The Events Calendar integration — list, get, create, and update events with venue, organizer, and date filters claude.ai OAuth custom connector — connect from claude.ai (web, mobile, or desktop) with zero local setup: an embedded OAuth 2.1 server with Client ID Metadata Document (CIMD) support lets each user log in with their own WordPress account and role Admin dashboard with toggle switches for each ability Per-ability control — expose only what you need Third-party ability control — abilities registered by other MCP-ready plugins (e.g. Fluent Forms) appear in the same dashboard, grouped by plugin, with the same per-ability toggles; disabling one removes it from every MCP server on the site Secure by design — proper capability checks, input sanitization, and per-post permission validation WPCS compliant — fully passes WordPress Coding Standards (phpcs) MCP-ready — all abilities include show_in_rest and mcp.public metadata Available Abilities Read (safe, query-only): Get posts with filters (status, category, tag, search) Get single post details (content, SEO meta, featured image) Get categories, tags, pages, comments, media, and users Write (create & modify): Create, update, and delete posts Create categories and tags Create pages Moderate comments Reply to comments as the authenticated user Upload images from external URLs to the media library (with optional auto-assign as featured image) Duplicate any post, page, or custom post type item — including all post meta (ACF, SEO, featured image) and taxonomy terms; saved as a draft by default Assign a custom taxonomy’s terms to a post or page (e.g. a taxonomy registered by a companion plugin) SEO — Rank Math: Get full Rank Math metadata for any post/page (title, description, keywords, robots, Open Graph, SEO score) Update Rank Math metadata: SEO title, description, focus keyword, canonical URL, robots, Open Graph, primary category, pillar content SEO — SEOPress: Get full SEOPress metadata for any post/page (title, description, focus keyword, robots, canonical, Open Graph, Twitter Card) Update SEOPress metadata: SEO title, description, focus keyword, canonical URL, robots directives, Open Graph, Twitter Card SEO — Yoast SEO: Get full Yoast SEO metadata for any post/page (title, description, focus keyphrase, canonical, robots, Open Graph, Twitter Card) Update Yoast SEO metadata: SEO title, description, focus keyphrase, canonical URL, robots (noindex, nofollow, advanced), Open Graph, Twitter Card Get Yoast sitemap index — fetch and parse the sitemap index, returning all registered sitemap URLs with last modification date Custom Post Types: List all registered custom post types with configuration and taxonomies Get items from any CPT with filtering, search, and taxonomy queries Get full details of a CPT item including all meta fields (WooCommerce, ACF, JetEngine, etc.) Create, update, and delete CPT items with taxonomy and meta field support Get CPT taxonomies with their terms Assign taxonomy terms to CPT items Read term meta by exact key, or all meta for a term Write a term meta field by exact key Update a term’s core fields: name, slug, description, or parent WooCommerce: List products with price, SKU, stock status, categories, and type Get full product detail including gallery, attributes, and variations Update product price, sale price, stock quantity, and status List orders with customer, total, status, and date (HPOS-compatible) Get full order detail: line items, billing/shipping, totals, and notes Update order status with optional note List customers with email, name, total spent, and order count The Events Calendar: List events with start/end date, venue, organizer, and date range filter Get full event detail with resolved venue address and organizer contact Create new events with title, description, dates, venue, and organizer Update existing events Navigation Menus: List menus with item counts and theme locations, and get one menu’s full item hierarchy Create a new menu, and add pages, posts, categories, tags, or custom URLs as items (with parent and position) Update an item’s title, URL, parent, or position Remove an item, assign a menu to a theme location, or delete a menu entirely (opt-in — destructive) Tutor LMS: Read a lesson’s video source configuration (type, value, and runtime) Set a lesson’s video source (external URL, YouTube, Vimeo, HTML5, or a third-party source such as Bunny.net) using Tutor’s own storage function — avoids the string-only limitation of the generic Update Post Meta ability, which Tutor cannot read back List courses, and get a single course’s full detail with its topics/lessons hierarchy Get a user’s enrollment status and completion progress for a course Get a user’s quiz attempt results, optionally filtered to a single quiz Enroll a user in a course, and unenroll them (both opt-in, manage_options only) Multilanguage: Assign a language to an existing post via Polylang or WPML Link two posts as translations of each other in the same translation group Get the full translation map for a post: language, post ID, title, permalink, and status for each translation LearnDash: List courses with enrollment count, and get a single course’s full detail (lessons, topics, quizzes) Get a user’s enrollment status/progress and quiz results for a course Enroll or unenroll a user in a course (opt-in — write, manage_options) JetEngine Options Pages: List all registered Options Pages with their field schema Get all fields and current values for an Options Page by slug Update a single Options Page field, including repeater rows (opt-in — write) JetEngine Query Builder: List all Query Builder queries with id, name, and query type Get the full settings of one query by id Update an existing query’s name, type, or arguments — the missing counterpart to JetEngine’s own native “Add Query” MCP tool, which has no edit/get/list equivalent (opt-in — write) Elementor: Get a compact, read-only tree of an Elementor page/template (element ids, types, text preview) Update an Elementor element’s settings by id — single or batch edits (opt-in — write) Bind a widget setting to a dynamic tag: post title, or a JetEngine/meta field (opt-in — write) Code Snippets: Create a PHP code snippet via the Code Snippets plugin — always saved as inactive, activate manually from wp-admin. Validates PHP syntax and blocks dangerous functions (eval, exec, shell_exec, and more) AI Agent Readiness (llms.txt): Fetch and validate the site’s llms.txt against the llmstxt.org spec, with actionable issues Write llms.txt content — routes automatically to SEOPress Pro’s option when active, or serves it directly (opt-in — write) FSE Block Templates: List all wp_template and wp_template_part entries for the active theme, merging theme-file defaults with database overrides Get the full block markup for one template or template part by slug Write new block markup to a template or template part — creates a database override automatically when the target is still a theme default; rejects content with unbalanced block-comment delimiters (opt-in — write, edit_theme_options) Accessibility (WCAG): Scan the media library for images missing alt text (WCAG 1.1.1 Non-text Content), paginated Utility: Search and replace text in post content Site statistics overview (includes custom post type counts) Update any post meta field by exact key (with protected internal key blocklist) Requirements WordPress 6.9 or later (Abilities API) MCP Adapter plugin installed and configured PHP 8.0 or later