Simple Custom Post Order

Changelog

2.7.3 – 2026-06-04

Bug fixes

  • Fixed Quick Edit and Bulk Edit fields (text inputs, dropdowns) not responding to a left mouse click on post/page list screens when the Modern (SortableJS) sorting engine was active. The drag engine was excluding those inline-edit rows from sorting but still suppressing the browser’s default click behaviour on them; native field interaction is now preserved. Right-click was unaffected, and the Classic engine was never affected. Reported by @stilografico and @tedmw.

2.7.2 – 2026-06-03

Bug fixes

  • Fixed previous/next post navigation links pointing to the wrong adjacent post (often reversed) for manually-ordered posts and custom post types. The adjacent-post queries now walk menu_order correctly and account for the date/ID tiebreaker WordPress adds to the query. Props @beatricelucaci (#146).

2.7.1 – 2026-06-02

Bug fixes

  • Fixed post order being scrambled on MariaDB / MySQL 8 when menu_order is re-normalized after gaps appear (e.g. after deleting an item). The gap-compacting step relied on a MySQL user-variable ranking whose evaluation order is undefined on those databases; re-numbering is now done deterministically in PHP. Props @alexgw and @sebastiencyr (#147 / #119).
  • Term queries that request a specific order with orderby=include are now respected instead of being overridden by the custom term order. Props @glebkema (#67 / #66).

Improvements

  • Custom term ordering now applies when any queried taxonomy is sortable (previously only the first taxonomy in a multi-taxonomy query was checked) and keeps the caller’s orderby as a fallback tiebreaker. Props @goaround (#104).

2.7.0 – 2026-06-02

Modern Drag-and-Drop Engine (SortableJS)

  • Reordering now uses a fast, dependency-free vanilla JavaScript engine (no jQuery UI)
  • Smoother drag animation and a cleaner floating row while sorting
  • Touch support — press, hold, and drag to reorder on phones and tablets
  • Full keyboard accessibility — tab to a row, press Space to grab, arrow keys (and Home/End) to move, Space to drop, Escape to cancel
  • Screen-reader announcements for every grab, move, and drop via an ARIA live region
  • Visible save feedback — a “Saving… / Order saved” status appears as you reorder

Reliability

  • Fixed reordering silently failing to save in some environments — the AJAX request is now always same-origin (root-relative), so saving works correctly behind reverse proxies, load balancers, non-standard ports, and HTTP/HTTPS or domain mismatches
  • Expired security nonce now refreshes automatically and retries the save, so long-open edit screens (or sites with a shortened nonce lifetime) keep saving without a reload
  • Rapid successive drags are coalesced into a single request (the final order always wins), with an automatic retry on transient network errors

New Settings (Settings > SCPOrder)

  • Drag & Drop Engine — choose “Modern” (SortableJS, default) or “Classic” (the legacy jQuery UI sorter)
  • Drag handle — optionally show a grip icon on row hover; hidden by default, and never affects accessibility (keyboard users can always reveal it)

Accessibility

  • Respects the prefers-reduced-motion setting
  • Proper ARIA labels, roles, and focus handling on the drag handle

Performance & Build

  • Ships minified admin assets; unminified sources load automatically when SCRIPT_DEBUG is enabled
  • Removed unused/dead JavaScript

Developer

  • New filter scpo_use_sortablejs — force the drag engine on/off in code (overrides the setting)
  • The classic jQuery UI Sortable path remains available as an opt-out fallback
  • Fully backward compatible — existing settings, hooks (scp_update_menu_order, scp_update_menu_order_tags, scpo_post_types_args), the global $scporder, and the scporder_options structure are unchanged (two optional keys added: engine, show_handle)

2.6.1 – 2026-06-01

Compatibility

  • Tested and confirmed compatible with WordPress 7.0
  • Updated “Tested up to” version to WordPress 7.0
  • Verified PHP 8.3 and 8.4 compatibility (no deprecated APIs in use)
  • Maintenance release — no functional changes

2.6.0 – 2026-01-09

Settings Page Overhaul

  • Complete rewrite using WordPress Settings API for native admin experience
  • Replaced custom toggle switches with standard WordPress checkboxes
  • Removed 100+ lines of custom CSS – now uses native WordPress admin styles
  • Improved accessibility with proper ARIA roles and screen reader text
  • Settings now integrate seamlessly with WordPress core admin UI
  • Added “Settings” link to plugin action links on the Plugins page

Security Enhancements

  • Fixed potential SQL injection vulnerabilities with prepared statements
  • Added proper output escaping (XSS prevention) throughout the plugin
  • Improved input sanitization for all user data
  • Added nonce escaping in JavaScript contexts

Performance Improvements

  • Replaced blanket cache flushing with targeted cache invalidation
  • Only affected posts/terms have their cache cleared after reordering
  • Reduced unnecessary database operations

PHP 8.4 Compatibility

  • Added type declarations to all class methods
  • Fixed null safety issues for PHP 8.1+
  • Added explicit property declarations
  • Minimum PHP version now 7.4

Code Quality

  • Converted to modern PHP syntax (short arrays, spaceship operator)
  • Replaced loose comparisons with strict comparisons
  • Removed legacy French comments and TODO markers
  • Fixed code formatting issues
  • Improved AJAX responses with proper JSON structure

Bug Fixes

  • Fixed potential fatal error when get_current_screen() returns null
  • Fixed reset order JavaScript to handle JSON responses correctly
  • Fixed TypeError when plugin options are not yet set (fresh installs)

2.5.11 – 2025-06-23

  • Deactivated custom sort order on search results pages

2.5.10 – 2024-12-04

  • Fix Notice: _load_textdomain_just_in_time

2.5.9 – 2024-11-29

  • Allow editors to change posts order

2.5.8 – 2024-10-10

  • Security update

2.5.7 – 2023-09-20

  • Security update fixing multiple issues
  • Code cleanup for better performance

2.5.6 – 2021-05-27

  • Changed: Revert to 2.5.4

2.5.5 – 2021-05-11

  • Changed: Code cleaning
  • Changed: Allow custom orderby in Block Preview

2.5.4 – 2021-03-05

  • Changed: Improved performance

2.5.3

  • Modified deprecated jQuery functions

2.5.2

  • Modified deprecated jQuery function for WordPress 5.5 compatibility
  • Fixed an issue where posts would be in reverse order after resetting

2.5.1

  • Improved fix for post list table width when sorting is enabled
  • Fixed admin AJAX overriding queries

2.5.0

  • Fixed post list table width when sorting is enabled
  • Review dismiss fix

2.4.9

  • Fixed “Post order not saving”

2.4.8

  • Added ability to reset order for post types

2.4.7

  • Fixed undefined index when ordering terms
  • Added filter for post types args shown in settings page
  • Added extra option for advanced view of post types

2.4.6

  • Removed dashboard news widget

2.4.5

  • Added action hooks for update_menu_order_tags and update_menu_order
  • Fixed issue with sorting
  • Fixed edit page layout when no items found

2.4.4

  • Fixed slow JavaScript in admin
  • Fixed database error

2.4.3

  • Minor UI update with toggles

2.4.2

  • Fixed potential bug with other plugins
  • Fixed table breaking on reordering when Yoast SEO installed

2.4.1

  • Fixed translations

2.4.0

  • Optimized database queries

2.3.9

  • Added button to dismiss admin notice

2.3.8

  • Fixed white screen issue

2.3.7

  • Fixed white screen issue

2.3.6

  • Bug fixes

2.3.5

  • Bug fixes

2.3.4

  • Removed deprecated function “screen_icon”

2.3.2

  • Minor documentation and readme tweaks

2.3

  • Fixed major bug on taxonomy and post order

2.2

  • Fixed bug: Custom query order/orderby parameters now take precedence
  • Improved parameter handling
  • Removed taxonomy sort (re-added in later versions)

2.1

  • Prevent breaking autocomplete

2.0

  • Fixed undefined notice error in WordPress 3.7.1
  • Taxonomy activate checkbox removed

1.5

  • Bug fixes
  • Added taxonomy sort
  • Added taxonomy sort option in settings

1.0

  • Initial release

Plugin Website
Visit website

Version:
2.7.3
Last Updated
June 4, 2026
Active Installs
300000
Requires
WordPress 6.2
Tested Up To
WordPress 7.0
Requires PHP
7.4

Share Post

Join our newsletter.

Get insights into what’s happening at ChangelogWP right in your inbox. We don’t believe in spam.