plugin-icon

Bracket Post Order

作者:bracket·
Drag-and-drop ordering for posts, pages, custom post types, and taxonomy terms — with per-category post ordering.
版本
1.2.2
最后更新
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.

免费使用Business套餐
通过安装,您同意 WordPress.com 服务条款第三方插件条款
目前已测试版本
WordPress 6.9.1
这个插件是可用的下载,适用于您的站点。