Put your posts, terms and users in the order you choose
Custom Sort Order lets you drag posts, taxonomy terms and users into your own sequence, on the admin list or, if you choose, on the live site too.
- A dedicated drag-and-drop screen for each enabled list.
- Works for post types, taxonomy terms and users independently.
- Optionally applies the same order to front-end queries.
- New items join automatically at the top or bottom, no rebuilding.
What does Custom Sort Order do?
When the custom_sort_order module is active, TOWP_Custom_Sort_Order adds a "Sort Order" screen, reached from a submenu link and a badge on the list itself, for each enabled post type, taxonomy or the Users list. Dragging items there saves an ordered array of IDs through a nonce-protected AJAX action; that order then gets injected into the admin list-table's query via posts_clauses, terms_clauses or pre_user_query, using SQL's FIELD() function, whenever the visitor hasn't already clicked a column to sort by something else. If a post type is also explicitly enabled for the front end, the same saved order applies to front-end queries too, so visitors see items in the same sequence an editor arranged.
Some lists need an order nobody's format gets right
Neither of WordPress's two natural sort orders can express a deliberate editorial or organizational priority.
The natural sort orders don't fit every list
Alphabetical order ignores importance, and chronological order ignores everything except when something was published; neither reflects a deliberate editorial or organizational priority.
WordPress has no built-in drag-and-drop for this
Reordering posts, terms or users by hand normally means editing dates or titles just to force a particular sequence, a workaround that fights the data instead of expressing an actual order.
Drag it into place, once
The module gives each enabled list its own sortable screen, then keeps that order in place for both the admin and, optionally, the front end.
A dedicated drag-and-drop screen
Each enabled post type, taxonomy or the Users list gets its own Sort Order screen, reached from a submenu link or a badge on the list.
Order that shows where it matters
The saved order applies to the admin list-table by default, and can extend to the front end for the post types you choose.
New items don't reset the work
A newly published post, a new term or a new user can join automatically at the top or the bottom of the saved order.
Real ordering, not a display trick
Every capability below is present in the supplied PHP class, its AJAX handlers and settings registration.
Posts, terms and users
Any enabled post type, any enabled taxonomy, and the Users list can each have their own independent custom order.
A dedicated Sort Order screen per list
Reached from a submenu link under each enabled type and a badge shown directly on the list itself when a custom order is active.
A genuine SQL sort, not a display trick
The saved order gets injected as a FIELD() clause into the actual list-table query, so pagination and filtering still work correctly against it.
Apply the same order to visitors
A post type explicitly enabled for the front end uses the identical saved order on public-facing queries, main loop and custom ones alike, excluding single views.
New items placed automatically
A newly published post, created term or registered user gets appended to the top or bottom of the existing order, configurable per site.
Steps aside when a column is clicked
If a visitor to the admin list clicks a column to sort by title, date or anything else, the custom order yields to that explicit choice.
Where a custom order helps most
The module supports the lists where alphabetical or chronological order genuinely gets in the way.
Featured or priority content
Arrange posts or pages by actual importance rather than publish date, keeping the most relevant content easy to find.
A deliberate taxonomy sequence
Order categories or custom taxonomy terms the way they should logically read, not alphabetically.
An intentional team or staff order
Arrange a Users list by role, seniority or any other priority that alphabetical order can't express.
An order that expresses actual intent
The module combines direct manipulation, front-end reach and auto-syncing new items.
One preload, a native SQL sort
The verified implementation minimizes database round-trips and sorts inside the query itself.
One query, not one per type
Every saved order gets preloaded in a single database query at construction time, instead of a separate lookup per post type or taxonomy.
Only enabled types are affected
The order-applying filters only act on post types, taxonomies and lists explicitly enabled in settings.
A native SQL sort
FIELD() ordering runs inside the database query itself, not as a separate PHP sort applied after the fact.
Capability-checked, opt-in for the front end
The code restricts saving to authorized users and keeps front-end application explicit.
Administrator-level capability required
Both the Sort Order screen and its AJAX actions require the edit_posts capability.
Nonce-verified save and reset
Saving or resetting an order both call check_ajax_referer() before touching anything.
IDs are sanitized before saving
Every submitted ID passes through absint(), and non-numeric or invalid entries get filtered out before the order is stored.
Explicit opt-in for front-end application
A post type only affects front-end queries if it's specifically enabled for that; nothing changes on the public site by default.
Built around native WordPress query hooks
The supplied code integrates through APIs present in WordPress core. No compatibility claim beyond the verified implementation is assumed.
posts_clauses, terms_clauses, pre_user_query
The saved order integrates through the same query-modification hooks WordPress itself and other plugins use for list-table sorting.
Any query, main or custom
When enabled for a post type, the order applies to any front-end query for that type, excluding single-post views specifically to avoid interfering with them.
Menu-open state fixed independently
The sidebar highlight for the Sort Order screen is corrected using the DOM element's ID rather than its menu slug, so it still works correctly even if Admin Menu Organizer has renamed the parent menu.
TheOneWP versus common alternatives
Compare the verified Custom Sort Order implementation with the usual workaround of editing dates or titles.
| Capability | TheOneWP Custom Sort Order | Other common solutions |
|---|---|---|
| Setting a custom order | Drag and drop on a dedicated screen per list | Usually means editing dates or titles to force a sequence |
| Applying to the front end | An explicit, per-post-type opt-in | Rarely available without custom query code |
| New item handling | Auto-added to the top or bottom | Manually re-inserted into the order every time |
| Query integration | A real SQL FIELD() sort, pagination-safe | A display-only reorder that breaks under pagination |
| Administration | One screen per list, reached from its own badge | Requires a separate plugin per content type |
Set a custom order in four steps
Decide on front-end application deliberately, per post type, once the order looks right.
Enable Custom Sort Order
Activate the module from the TheOneWP Content settings tab and choose which post types, taxonomies and the Users list to enable.
Open the Sort Order screen
Use the submenu link or the list badge to open the drag-and-drop screen for that list.
Drag items into place
Reorder the list by dragging, then save.
Decide on front-end application, if relevant
Enable front-end application for any post type where visitors should see the same order.
Order deliberately, not everywhere
A custom order works best where the default sorting genuinely fails a list, not as a blanket habit.
Enable only the lists that need it
A custom order is most useful where natural sorting genuinely doesn't fit; not every list needs one.
Choose new-item placement deliberately
Decide whether new posts, terms or users should default to the top or the bottom, based on how the list is actually used.
Reserve front-end application for lists visitors should see reordered
Enabling it broadly when only the admin needs the custom order adds an unnecessary front-end query change.
Revisit the order after a content push
A batch of newly published content lands wherever the auto-sync setting places it; review the order afterward if it needs fine-tuning.
Avoid assumptions that cause confusion
The module has clear rules about priority and scope that are easy to misread.
Clicking a column and expecting the custom order to stick
An explicit column sort in the admin list takes priority over the saved custom order for that view.
Forgetting front-end application is opt-in
A custom order set in the admin doesn't reach the front end unless that specific post type is separately enabled for it.
Assuming the order applies to single post views
Front-end ordering is deliberately skipped on single-post views, since there's no list to reorder there.
Custom Sort Order FAQ
These answers come directly from the verified class, its AJAX handlers and settings registration.
What does Custom Sort Order do?
It lets an administrator drag posts, taxonomy terms or users into a custom order on a dedicated screen, applied to the admin list and, optionally, to the front end.
Does the custom order affect the front end of the site?
Only for post types explicitly enabled for that; by default, the custom order only affects the admin list-table.
What happens if I sort a list by clicking a column?
The explicit column sort takes priority for that view; the custom order resumes once no explicit sort is active.
What happens to a newly published post or new user?
It can be automatically added to the top or the bottom of the saved order, depending on how that's configured.
Can I have a different order for posts, categories and users?
Yes. Each enabled post type, taxonomy and the Users list has its own independent saved order.
Where do I find the Sort Order screen?
From a submenu link under the relevant post type, taxonomy or Users menu, or from a badge shown on the list itself when a custom order is active.
Does reordering break pagination?
No. The order is applied as a real SQL sort using FIELD(), so pagination and filtering continue to work correctly against it.
Who can change the sort order?
Anyone with the edit_posts capability, since that's what both the Sort Order screen and its save action require.
Does this module work well with Admin Menu Organizer?
Yes. The Sort Order screen's sidebar highlighting is corrected independently of any menu renaming Admin Menu Organizer applies.
Is the saved order visible anywhere besides the admin list?
Only if explicitly enabled for the front end for that specific post type; otherwise it stays an admin-only arrangement.
Stop fighting alphabetical and chronological order.Drag content into the order you actually want.
Use Custom Sort Order to arrange posts, terms and users exactly how they should read, on the admin list or the live site.

