Title: Category Commander
Author: 菅原隆志
Published: <strong>January 15, 2026</strong>
Last modified: May 23, 2026

---

Search plugins

![](https://ps.w.org/category-commander/assets/icon-256x256.png?rev=3543234)

# Category Commander

 By [菅原隆志](https://profiles.wordpress.org/taka235345/)

[Download](https://downloads.wordpress.org/plugin/category-commander.1.2.1.zip)

 * [Details](https://mlt.wordpress.org/plugins/category-commander/#description)
 * [Reviews](https://mlt.wordpress.org/plugins/category-commander/#reviews)
 *  [Installation](https://mlt.wordpress.org/plugins/category-commander/#installation)
 * [Development](https://mlt.wordpress.org/plugins/category-commander/#developers)

 [Support](https://wordpress.org/support/plugin/category-commander/)

## Description

Category Commander helps you organize WordPress categories, tags, and public custom
taxonomies with drag-and-drop ordering, category click insights, history restore,
diagnostics, shortcodes, REST API support, CSV export/import, and optional AI-powered
suggestions.

Unlike simple category ordering plugins, Category Commander focuses on helping administrators
review and improve taxonomy structure. It can detect empty or low-content terms,
missing descriptions, long names, similar names, and large terms that may deserve
a closer review.

AI features are optional. OpenAI API requests happen only when the site administrator
explicitly enables AI features and runs an AI suggestion request from the admin 
screen. Administrators can also use a manual ChatGPT browser workflow by copying
a prompt themselves. AI suggestions are never applied automatically. Administrators
must review the result and choose yes before anything changes.

#### Features

 * Drag and drop ordering for categories, tags, and enabled public custom taxonomies
 * Optional saved order presets: Default, Menu, Sidebar, Mobile, and Footer
 * Hierarchical term ordering with parent safety checks
 * Front-end autosort option
 * Optional admin autosort
 * Read-only REST API for ordered terms
 * Secure REST write endpoints for administrators
 * Order history and restore
 * Reset order by name, slug, ID, post count, or cleared custom order
 * Taxonomy diagnostics and improvement hints
 * Optional Category Click Insights for local aggregate category link impressions,
   clicks, and click-through rate
 * Shortcode: `[category_commander_list]`
 * Developer helpers: `category_commander_get_terms()` and `category_commander_terms_list()`
 * CSV export and import
 * JSON export and import for backward compatibility
 * Optional OpenAI-powered order suggestions
 * Optional AI parent-child structure suggestions
 * Optional AI category name suggestions that review every selected target term
 * Separate AI tasks for simpler, more reliable results
 * AI suggestion target control for parent categories, child categories, or both
 * Editable AI prompts with variables and one-click reset to defaults
 * Manual ChatGPT browser workflow for administrators who do not use the OpenAI 
   API
 * Simple yes/no approval before applying AI suggestions

### Privacy and External Services

This plugin can optionally connect to the OpenAI API when AI features are enabled
by the site administrator.

When the administrator explicitly runs an AI suggestion request, the previewed data
may be sent to the OpenAI API: site name, tagline, locale, selected taxonomy, selected
saved order, term IDs, category/tag names, parent IDs, post counts, current positions,
the administrator prompt, and optional post title context when that setting is enabled.

Category Commander does not send post excerpts, post content, visitor data, comments,
orders, users, passwords, or the OpenAI API key as prompt content. Post title context
is sent only when the administrator enables that option.

No data is sent to OpenAI automatically. No front-end visitor action sends data 
to OpenAI. AI suggestions are not applied automatically. The administrator must 
review the returned suggestion and choose yes before changes are applied.

The OpenAI API key is provided by the site administrator. It is stored in WordPress
options with autoload disabled, masked in the admin UI, and can alternatively be
provided with the `CATEGORY_COMMANDER_OPENAI_API_KEY` constant in `wp-config.php`.

Administrators can delete the API key stored by Category Commander from AI Settings.
Deleting the stored key also disables AI features until a new key is configured.
If the key is defined in `wp-config.php`, remove the constant there.

Category Commander also includes a manual ChatGPT browser workflow. In this mode,
the plugin creates a copyable prompt and can import the returned JSON result for
review. Category Commander does not send the manual prompt anywhere. If the administrator
copies that prompt into ChatGPT or another service, the administrator is choosing
to share the included site name, tagline, taxonomy data, administrator instructions,
and optional post title context with that service.

Category Click Insights is optional and disabled until an administrator enables 
it. When enabled, it uses front-end JavaScript to count category link impressions
and clicks from links inside your own site. Direct category archive visits from 
search engines, address bar visits, and bookmarks are not counted as category clicks.
The data is stored locally as daily aggregate counts by category and display context.
It does not store IP addresses, user IDs, or per-visitor browsing histories.

External service used:
 * OpenAI API: https://api.openai.com/v1/responses * OpenAI
Services Agreement: https://openai.com/policies/services-agreement/ * OpenAI Privacy
Policy: https://openai.com/policies/privacy-policy/

### How to Use

#### Reorder categories, tags, or taxonomies

 1. Go to Posts -> Category Commander.
 2. Open the Settings tab and enable the taxonomies you want to manage.
 3. Open the Order tab.
 4. Choose a taxonomy and saved order if needed.
 5. Drag terms into the order you want.
 6. Click Save Order.

A restore point is created before the new order is saved.

When a parent category has child categories, you can expand or collapse the child
list to focus on parent categories while arranging the order.

#### Front-end category widgets and blocks

WordPress category widgets and category blocks normally hide empty child categories.
Category Commander includes a Settings option to show empty child categories when
a category widget or block uses hierarchical display, so site owners can see the
parent-child structure before posts are assigned.

#### Use saved order presets

Presets let you keep different saved orders, such as one order for the normal site
display and another order for a shortcode or custom theme area.

The default presets are:
 * Default * Menu * Sidebar * Mobile * Footer

The Default preset is used by normal WordPress category widgets and category blocks
when front-end autosort is enabled. Other presets do not automatically detect a 
theme’s menu, sidebar, mobile, or footer area because themes do not expose those
locations in a standard way. Use other presets with the shortcode, the PHP helper
functions, or the `category_commander_auto_order_preset` filter in custom code.

#### Review taxonomy health

Open the Diagnostics tab to see non-AI improvement hints. Diagnostics can help identify
empty terms, terms with very few posts, missing descriptions, long term names, similar
labels, and large terms that may deserve subcategories.

Diagnostics do not change anything automatically.

#### Review category click performance

Open the Insights tab to review local aggregate impressions, clicks, and click-through
rate for category links.

Insights is designed for category naming decisions. If a category link is shown 
often but clicked rarely, the category name or placement may need review.

The feature is disabled by default. You can enable it, choose tracked taxonomies,
set data retention, exclude logged-in users, delete all stored insights data, and
optionally allow AI suggestions to include 30-day aggregate click metrics as category
context.

#### Restore a previous order

Open the History tab to review recent changes. Click Restore next to a history item
to recover the previous order.

History is saved before manual saves, resets, imports, and applied AI changes.

#### Import and export

Open Import / Export to download a CSV backup or import CSV order data. CSV import
matches existing terms by taxonomy and slug and skips missing terms for safety.

JSON export and import are also available for compatibility with earlier Category
Commander versions.

#### Optional AI suggestions

AI features are disabled by default.

To use AI suggestions:
 1. Open AI Settings. 2. Enable AI features. 3. Add an OpenAI
API key or define `CATEGORY_COMMANDER_OPENAI_API_KEY` in `wp-config.php`. 4. Review
or edit the default prompts if needed. 5. Open AI Suggestions. 6. Choose one task:
order suggestion, parent-child structure and order suggestion, or category name 
suggestion. 7. Choose the suggestion target: parent and child categories, parent
categories only, or child categories only. 8. Review the data preview. 9. Click 
Generate with OpenAI API. 10. Review the returned suggestion. 11. Choose yes to 
apply the suggestion, or no to leave categories unchanged.

AI suggestions are never applied automatically.

Order-only AI suggestions change display order only. Parent-child structure suggestions
are optional and should be used only when the administrator wants AI to propose 
moving categories under parent categories.

To stop using AI features, open AI Settings and use Delete stored OpenAI API key.
This removes the key saved in the WordPress database and disables AI features.

For category name suggestions, Category Commander processes selected terms in batches.
It normally sends a reasonably sized group together, then automatically splits only
the group that fails so large sites can finish without repeating unnecessary requests.
The AI tasks are intentionally separated so each response stays small and predictable.

For lower cost and faster category name suggestions, administrators can turn off
reason text. When reasons are disabled, the result focuses on the current name and
suggested name.

#### Manual ChatGPT browser workflow

Administrators who do not use the OpenAI API can still use AI-assisted review manually:

1. Open AI Suggestions. 2. Choose the suggestion type and target. 3. Enter an analysis
goal if needed. 4. Click Create ChatGPT browser prompt. 5. Copy the prompt and paste
it into ChatGPT in a browser. 6. Ask ChatGPT to create the JSON file requested by
the prompt. 7. Drop or paste the returned JSON result into Category Commander. 8.
Review the result and choose yes to apply it, or no to leave categories unchanged.

This manual workflow uses the same preview and safety checks as OpenAI API suggestions.
The plugin validates term IDs and parent-child structure before showing the approval
screen.

#### Find help inside WordPress

The Category Commander admin screen includes WordPress contextual help. Click the
Help tab at the top right of the admin screen for a quick guide to each tab, AI 
privacy notes, and shortcode examples.

#### Common WordPress words used by this plugin

Taxonomy means a WordPress grouping system, such as Categories, Tags, or a custom
grouping added by another plugin.

Term means one item inside a taxonomy, such as a single category name or tag name.

Preset means a saved order slot. Default is used by normal WordPress category widgets
and blocks. Other presets are for shortcodes, helper functions, or custom theme/
plugin code.

Slug means the URL-friendly name WordPress uses in links.

Front end means the public-facing part of your website that visitors see.

REST API is a developer endpoint that themes, blocks, or apps can use to read ordered
term data.

CSV is a spreadsheet-friendly file format for backups and review. JSON is a structured
data format mainly kept for compatibility with earlier Category Commander exports.

Shortcode means a small bracketed code you can place in content to display an ordered
term list.

## Installation

 1. Upload the plugin folder to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the Plugins menu in WordPress.
 3. Go to Posts -> Category Commander.
 4. Enable the taxonomies you want to manage in Category Commander -> Settings.

## FAQ

### Does the plugin modify WordPress core tables?

No. Category Commander stores custom order values as term meta.

### Can I use it with tags or custom taxonomies?

Yes. Enable supported public taxonomies in Category Commander -> Settings.

### Does CSV import create missing terms?

No. CSV import matches existing terms by taxonomy and slug, and skips missing terms
for safety. JSON import may create missing terms for backward compatibility with
earlier Category Commander exports.

### Does the AI feature change categories automatically?

No. AI analysis only generates suggestions. You must choose yes before Category 
Commander applies the returned suggestion.

### What data is sent to OpenAI?

Only the previewed data shown on the AI Suggestions screen is sent, and only after
an administrator clicks the generate button. Category Commander sends taxonomy data
such as category names, parent IDs, counts, and current order. If enabled, it can
also send post title context for each target term using Normal, Accuracy-first, 
or Full analysis mode. It does not send post excerpts or post content.

### Can I use ChatGPT without an OpenAI API key?

Yes. Use the ChatGPT browser workflow on the AI Suggestions screen. Category Commander
creates a prompt that you can paste into ChatGPT manually, then imports the returned
JSON result for review. The plugin does not send that manual prompt automatically.

### Does Category Click Insights track individual visitors?

No. Insights stores daily aggregate counts by category and display context. It does
not store IP addresses, user IDs, or per-visitor browsing histories. It counts category
links shown and clicked inside your own site, not direct category archive visits
from search engines, bookmarks, or the address bar.

### How do I show ordered terms without editing my theme?

Use the shortcode `[category_commander_list]`.

Examples:
 [category_commander_list taxonomy=”category” hide_empty=”1″ show_count
=”1″] [category_commander_list taxonomy=”post_tag” layout=”inline”] [category_commander_list
taxonomy=”category” preset=”sidebar”]

### Why does a category widget or block not show child categories?

If child categories have no published posts, WordPress may hide them. In Category
Commander -> Settings, keep the empty child category option enabled when you want
hierarchical category widgets and blocks to show the structure before posts are 
assigned.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Category Commander” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ 菅原隆志 ](https://profiles.wordpress.org/taka235345/)

[Translate “Category Commander” into your language.](https://translate.wordpress.org/projects/wp-plugins/category-commander)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/category-commander/),
check out the [SVN repository](https://plugins.svn.wordpress.org/category-commander/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/category-commander/)
by [RSS](https://plugins.trac.wordpress.org/log/category-commander/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.2.1

 * Improved the manual ChatGPT assignment workflow so assignment prompts return 
   to the assignment section instead of the category plan section.
 * Prevented empty post assignment prompts when a selected prompt number does not
   contain scanned posts.
 * Added clearer post assignment import guidance, valid prompt number guidance, 
   and assignment apply completion status.
 * Marked completed post assignment application clearly so administrators can tell
   when the workflow is finished.
 * Added stricter validation for imported assignment JSON files.

#### 1.2.0

 * Added optional Category Click Insights for local aggregate category link impressions,
   clicks, and click-through rate.
 * Added Insights settings for tracked taxonomies, retention, impressions, logged-
   in user exclusion, search page exclusion, and low-CTR hints.
 * Added an Insights report with period and display-context filters.
 * Added safe cleanup for locally stored Insights data.
 * Added optional AI context so administrator-triggered AI suggestions can include
   30-day aggregate category click metrics.
 * Added the category redesign workflow with post scanning, category planning, local
   post assignments, optional ChatGPT assignment prompts, restore support, safe 
   unused category cleanup, and local sample post generation for testing.

#### 1.1.1

 * Added a manual ChatGPT browser workflow for administrators who do not use the
   OpenAI API.
 * Added copy/download prompt tools and drag-and-drop JSON result import for manual
   AI suggestions.
 * Reused the existing safe preview and approval flow for manually imported AI results.
 * Improved AI privacy/help text to distinguish OpenAI API generation from manual
   ChatGPT browser use.

#### 1.1.0

 * Tested with WordPress 7.0.
 * Added support for tags and public custom taxonomies.
 * Added multiple order presets.
 * Clarified default versus custom preset behavior for widgets, blocks, shortcodes,
   and developer integrations.
 * Added order history and restore.
 * Added taxonomy diagnostics.
 * Added reset methods.
 * Added shortcode and developer helper functions.
 * Added read-only REST terms endpoint.
 * Added CSV export/import.
 * Added parent/child expand and collapse controls for easier manual ordering.
 * Added an option to show empty child categories in hierarchical category widgets
   and blocks.
 * Added optional OpenAI-powered order, parent-child structure, and category name
   suggestions with preview, admin approval, and safe apply flow.
 * Improved AI request progress feedback and detailed troubleshooting output.
 * Added focused AI tasks, editable default prompts, prompt reset controls, structured
   AI output, saved analysis goals, and more reliable default AI settings.
 * Added optional post title context modes for category name suggestions.
 * Added an option to hide AI reason text for faster, lower-cost category name suggestions.
 * Added safe OpenAI API key deletion from AI Settings.
 * Improved privacy disclosures and external service documentation.
 * Improved contextual Help tabs for AI settings, AI suggestions, front-end display
   behavior, privacy, shortcodes, and common WordPress terms.
 * Improved security checks, sanitization, escaping, and capability filters.

#### 1.0.5

 * Remove manual text-domain loading code to align with WordPress.org Plugin Check
   guidance.
 * Improve keyboard reordering usability: click-to-select state with visible highlight,
   then Alt (Option on Mac) + Up/Down to move.

#### 1.0.4

 * Improve i18n/l10n coverage for admin and REST user-facing messages.
 * Add proper textdomain loading on `plugins_loaded`.
 * Add/update translation template in `languages/category-commander.pot`.

#### 1.0.3

 * Add compatibility notice and conflict guidance on the admin page.
 * Load text domain for translations.

#### 1.0.2

 * Improve ordering stability when other plugins modify category queries.

#### 1.0.1

 * Initial release.

## Meta

 *  Version **1.2.1**
 *  Last updated **5 days ago**
 *  Active installations **30+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/category-commander/)
 * Tags
 * [AI](https://mlt.wordpress.org/plugins/tags/ai/)[category](https://mlt.wordpress.org/plugins/tags/category/)
   [order](https://mlt.wordpress.org/plugins/tags/order/)[sort](https://mlt.wordpress.org/plugins/tags/sort/)
   [taxonomy](https://mlt.wordpress.org/plugins/tags/taxonomy/)
 *  [Advanced View](https://mlt.wordpress.org/plugins/category-commander/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/category-commander/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/category-commander/reviews/)

## Contributors

 *   [ 菅原隆志 ](https://profiles.wordpress.org/taka235345/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/category-commander/)