The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
To change how WordPress categories appear, either sort a specific category list with query arguments or use a taxonomy-ordering plugin to save a reusable drag-and-drop order. WordPress core does not provide a universal drag-and-drop category-order screen. The right method depends on whether you want an alphabetical list, a custom sequence of category terms, or a different order for posts within a category archive.
Choose what you want to reorder
“Category order” can mean two different things: the sequence of category terms in a list, or the sequence of posts displayed on a category archive. They are controlled by different queries. The methods below change term lists; they do not, by themselves, change the order of posts inside an archive.
- Alphabetical or other standard term sort: change the arguments used to retrieve the categories.
- A saved custom term sequence: use a taxonomy-ordering plugin, or implement a site-specific developer solution.
- Posts within an archive: adjust the post query, not the category-term order.
Sort categories by name or another query property
For a category list generated by code, pass sorting arguments to get_categories() or get_terms(). WordPress documents that get_categories() retrieves category objects and accepts the arguments available to get_terms(). Its example sorts by name in ascending order:
$categories = get_categories( array(
'orderby' => 'name',
'order' => 'ASC',
) );
ASC means ascending; use DESC for descending order. This is a query rule, not a saved manual arrangement. It affects only the list generated by the query whose arguments you changed. A category menu, a widget, a page-builder element, and a custom theme list may each retrieve terms differently.
#1 Best Overall
The Categories REST API also supports orderby and order parameters for its category collection. If an external app consumes that endpoint, configure its request rather than assuming a change to a theme’s PHP query will affect it.
Save a custom drag-and-drop category order
For an editor-managed sequence that can be reused, the WordPress.org plugin Category Order and Taxonomy Terms Order describes a Taxonomy Order admin screen for dragging taxonomy terms into position, including parent-and-child hierarchy. Its listing also describes an Autosort option that applies the saved order to front-end queries.
Rank #2
- Install and activate the plugin from the WordPress plugin directory.
- Review its settings and locate its Taxonomy Order screen. The plugin listing describes a link in the relevant post-type section; exact placement can vary as the interface changes.
- Drag categories into the desired sequence, preserving or adjusting parent-child placement as appropriate.
- If you want the order applied to front-end queries, check the plugin’s Autosort setting and then inspect the actual lists on your site.
A custom query that you maintain in code may need to request the plugin’s documented term-order field explicitly, as shown below.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute$categories = get_terms( array(
'taxonomy' => 'category',
'orderby' => 'term_order',
'order' => 'ASC',
) );
Use this only where the plugin’s term-ordering feature is installed and the query supports it. The plugin directory listing documents term_order for programmatic get_terms() use; it is not a general WordPress-core category field.
Rank #3
Use custom code when the ordering logic is site-specific
If you control the term query, pass its intended arguments directly to get_terms() or get_categories(). For more specialized ordering, WordPress provides the get_terms_orderby filter, which lets code modify the ORDERBY clause of a term query.
The filter is an extension point, not a ready-made category-order recipe. A callback must be designed for the relevant taxonomy, query, and ordering rule, then tested against the site’s output. Avoid inserting a generic callback without checking how it interacts with other plugins and queries.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Why menu_order does not reorder categories
menu_order is a post-ordering value documented by WordPress for WP_Query, commonly used for pages and attachments. A category is a taxonomy term, not a post, so its order is not controlled by that post field. WordPress.org support documentation likewise distinguishes taxonomy terms from native post menu_order; the plugin described above provides its own term-ordering approach.
If the real goal is to change which posts appear first on a category archive, change the archive’s post query instead. Reordering the category terms in a list will not determine the order of posts inside each category.
Best Value
Check which displays actually changed
After changing a query or enabling plugin sorting, inspect each relevant part of the site: the theme’s category list, widgets, navigation or page-builder output, and any external REST API consumer. A theme, widget, custom query, or builder can retrieve categories independently, so one adjustment does not guarantee that every category display uses the same ordering.
Quick Recap
| Approach | Ordering rule | Scope | Who maintains it |
|---|---|---|---|
orderby and order query arguments |
A standard property such as name, in ascending or descending order | The specific term list or REST request using those arguments | Developer or interface configuring that query |
| Category Order and Taxonomy Terms Order plugin | Editor-defined drag-and-drop sequence; the listing describes Autosort for front-end queries | Plugin-supported term ordering; check individual site displays | Editors manage sequence in the plugin; site owners maintain plugin settings and compatibility |
get_terms_orderby filter |
Custom ORDERBY logic defined in code | Term queries affected by the callback | Developer maintaining and testing the callback |
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

