Haych/dev Term Tree icon

Haych/dev Term Tree

Replace the flat category list with a drag-and-drop file-explorer tree. Works with every hierarchical WordPress taxonomy.

Free · GPLv2WordPress 6.2+PHP 7.4+v0.2.1

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

The WordPress Categories admin screen showing a file-explorer tree with Technology expanded to reveal Mobile and Web subcategories, drag handles, and a toolbar with search, expand-all, and collapse-all buttons.

Free vs Pro

Free

GPLv2
  • 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

Pro

$49.99
per year
Unlimited sites

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
Buy Haych/dev Term Tree Pro

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.