# Custom Taxonomy Order

Reorder categories, tags, and public taxonomy terms using term meta (`_wpps_taxonomy_order` by default).

## Settings

Configure supported taxonomies, query targets, and permissions in the module settings modal. Reordering happens directly on each taxonomy's term list table (**Categories**, **Tags**, etc.) via a drag handle on every row.

## Developer filters

| Filter | Purpose |
|--------|---------|
| `wp_powersuite_custom_taxonomy_order_taxonomies` | Available taxonomy objects for the UI |
| `wp_powersuite_custom_taxonomy_order_excluded_taxonomies` | Taxonomies excluded from ordering |
| `wp_powersuite_custom_taxonomy_order_meta_key` | Term meta key used to store order |
| `wp_powersuite_custom_taxonomy_order_apply_to_query` | Whether to apply order to a `get_terms` query |
| `wp_powersuite_custom_taxonomy_order_orderby_args` | SQL `ORDER BY` fragment for term queries |

## AJAX actions

- `wpps_cto_save_order` — save order meta for validated term IDs
- `wpps_cto_reset_order` — delete order meta for a taxonomy scope

All actions require the `wpps_custom_taxonomy_order` nonce and the configured reorder capability.

## Notes

- Order is stored in term meta (compatible with exports that include term meta).
- Reordering is done by dragging the handle on each term list table row; changes save automatically on drop.
- Custom order can be applied to frontend term lists, widgets, archives, menu term pickers, and admin term tables. Explicit query `orderby` values are respected when configured.
- List table drag-and-drop only loads when no search filter is active.
- Does not change `nav_menu` item order inside WordPress menus.
