Haych/dev Term Tree
Replace the flat category list with a drag-and-drop file-explorer tree. Works with every hierarchical WordPress taxonomy.
Haychdev Term Tree replaces the flat WordPress category admin table with a drag-and-drop file-explorer tree. It works with every hierarchical taxonomy — categories, WooCommerce product categories, and custom post type taxonomies — and applies the custom order transparently to all frontend queries without any theme code changes.
Why Haych/dev Term Tree
- File-explorer tree replaces the flat table
The default WordPress category admin table is replaced with a collapsible file-explorer tree. Folder icons, child-count badges, and post counts at a glance — no more scrolling through hundreds of flat rows.
- Drag-and-drop reorder
Drag any term to change its position within the same level. The new order is saved instantly via AJAX — no page reload. Uses jQuery UI Sortable which ships with WordPress, so there is nothing extra to download.
- Custom order flows to the frontend
The order you set in the admin is automatically applied to wp_get_terms() and all standard WordPress category queries. Menus, widgets, and templates pick it up without any code changes.
- Works with every hierarchical taxonomy
Not just post categories. WooCommerce product categories, custom post type taxonomies, any taxonomy registered with hierarchical=true and show_in_rest=true gets the tree view automatically.
- Inline create and rename
Click "+ New" to add a term directly in the tree without leaving the screen. Double-click any term name to rename it in-place. Both operations use the WP REST API and update instantly.
- No external calls, no build step
One PHP plugin, one JS file, one CSS file. jQuery UI Sortable already ships with WordPress admin — nothing extra is downloaded. No npm, no CDN, no tracking.
Screenshots
Free vs Pro
Free
- Finder-style tree view in the right column, alongside WP's Add New form
- Live updates — new categories appear without a page refresh
- Persistent expand/collapse state and last-selected row across reloads
- Keyboard navigation (arrows, Enter, Delete, /, Esc, Home/End)
- Right-click context menu (edit, copy slug, copy link, delete)
- Search with match highlighting and auto-expanded ancestors
- Guide lines, folder/leaf icons, hover and selection states
Pro
Everything in Free, plus:
- Drag-and-drop reorder within the tree
- Custom order applied to wp_get_terms and all frontend queries
- Inline create new terms with one click
- Double-click any term to rename in-place
- Tree view across every hierarchical taxonomy, including WooCommerce categories
FAQ
- Does it work with WooCommerce product categories?
- Yes. Any hierarchical taxonomy registered with show_in_rest=true gets the tree view. WooCommerce product_cat has REST enabled by default.
- What if I have a custom taxonomy without REST support?
- The plugin shows an admin notice explaining how to enable REST support with show_in_rest=true in the taxonomy registration. The original flat table is left intact as a fallback.
- Will the custom category order appear on the frontend?
- Yes. The plugin hooks into the terms_clauses filter, so any call to wp_get_terms(), get_categories(), or the WordPress nav menu builder will respect the saved order automatically.
- Does it affect performance?
- The terms_clauses filter adds one LEFT JOIN to term queries for hierarchical taxonomies. For sites with fewer than a few thousand terms this is negligible. The admin tree renders entirely client-side from an inlined JSON blob — no extra AJAX requests on page load.
- Can I drag a term into a different parent?
- Yes. jQuery UI Sortable's connectWith option allows dragging between sibling lists — so you can move a term from one parent to another by dropping it onto the target parent's child list.