plugin-icon

Bracket Post Order

Door bracket·
Drag-and-drop ordering for posts, pages, custom post types, and taxonomy terms — with per-category post ordering.
Versie
1.2.2
Laatst bijgewerkt
Feb 16, 2026

Bracket Post Order gives you complete control over how your content is sorted — directly from the native WordPress admin screens you already use. No new interfaces to learn, no separate reorder pages. Just drag and drop.

A key feature is per-term post ordering: the ability to define a different post order for each individual category, tag, or custom taxonomy term. Show your products in one order on “Summer Collection” and a completely different order on “Best Sellers” — each term maintains its own independent sort.

Three Types of Ordering

1. Global Post Ordering Drag-and-drop to reorder posts, pages, and custom post types on the standard admin list table. The new order is saved to menu_order and automatically applied on the front end.

2. Per-Term Post Ordering Filter your admin list by a category or taxonomy term, and the interface switches to per-term mode. Drag posts into the order you want for that specific term. Assign the same post to multiple categories — each one keeps its own sort. New posts added to a term automatically appear at the end of the custom order.

3. Taxonomy Term Ordering Reorder categories, tags, and custom taxonomy terms themselves via drag-and-drop on the native edit-tags.php screen. The new term order is applied to get_terms() queries and navigation menus on the front end.

Key Features

  • Reset Order — Reset post order by date or title with one click. Most requested feature across all ordering plugins.
  • Undo — “Order saved. [Undo]” link appears for 8 seconds after every reorder. Click to revert instantly.
  • Mobile/Touch Support — Full touch drag-and-drop on phones and tablets via jQuery UI Touch Punch.
  • Keyboard Accessibility — Tab to a row, Enter to activate, Arrow keys to move, Enter to save, Escape to cancel. WCAG compliant.
  • Order Column — “#” column shows each post’s position number at a glance.
  • WPML & Polylang Support — Per-term ordering works correctly across languages.
  • Admin Bar Indicator — Shows current ordering mode (Global or Per-Term) in the admin bar.
  • Settings Link — Quick access from the Plugins page.

How It Works

  1. Go to Settings > Bracket Post Order
  2. Toggle on the post types you want to reorder
  3. Toggle on taxonomies for per-term post ordering
  4. Toggle on taxonomies for term reordering
  5. Visit your admin list pages and start dragging

Changes save automatically via AJAX — no page refresh needed.

Built for WordPress, Not Against It

  • Works directly inside native admin list tables (edit.php and edit-tags.php)
  • Uses standard menu_order for global ordering — compatible with any theme
  • Uses term_order for taxonomy terms — the same column WordPress defines
  • Per-term order stored as term meta — clean, portable, conflict-free
  • Front-end queries are modified transparently via pre_get_posts and posts_clauses
  • Explicit orderby parameters (date, title, etc.) are never overridden

Works With

  • Any public custom post type (portfolios, team members, testimonials, events, FAQs, services)
  • WooCommerce products and product categories
  • Any registered taxonomy with a UI
  • Page builders that use standard WP_Query (Elementor, Divi, Beaver Builder)
  • Themes that follow WordPress template hierarchy
  • WPML and Polylang multilingual plugins

For Developers

Bracket Post Order provides hooks so you can extend or control its behavior:

// Filter: skip per-term ordering for a specific query add_filter( 'bracket_po_apply_term_post_order', function( $apply, $term_id, $query ) { // Return false to skip return $apply; }, 10, 3 ); // Filter: modify the retrieved term post order add_filter( 'bracket_po_get_term_post_order', function( $ordered_ids, $term_id ) { return $ordered_ids; }, 10, 2 ); // Actions: fired after order is saved via drag-and-drop do_action( 'bracket_po_global_order_updated', $post_ids ); do_action( 'bracket_po_term_post_order_updated', $term_id, $post_ids ); do_action( 'bracket_po_term_order_updated', $term_ids ); // Actions: fired after order is reset do_action( 'bracket_po_global_order_reset', $post_type, $sort_by ); do_action( 'bracket_po_term_post_order_reset', $term_id );

To apply per-term order in custom queries, set orderby to menu_order and include a tax_query with a single term:

$query = new WP_Query( [ 'post_type' => 'product', 'orderby' => 'menu_order', 'order' => 'ASC', 'tax_query' => [ [ 'taxonomy' => 'product-category', 'field' => 'term_id', 'terms' => 42, ] ], ] );

The plugin will automatically apply the saved per-term order via FIELD() SQL — posts not in the saved order appear at the end.

Gratisop Business abonnement
Door te installeren, ga je akkoord met de Servicevoorwaarden van WordPress.com en de voorwaarden voor plugins van derden.
Getest tot
WordPress 6.9.1
Deze plugin kan worden gedownload, zodat je hem op je kan gebruiken.