[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftBcuPLYg992qeRTarsKp7XF8idW61DD3kRSPxbuLSbM":3},{"slug":4,"display_name":5,"profile_url":6,"plugin_count":7,"total_installs":8,"avg_security_score":9,"avg_patch_time_days":10,"trust_score":11,"computed_at":12,"plugins":13},"bracketdev","bracket","https:\u002F\u002Fprofiles.wordpress.org\u002Fbracketdev\u002F",1,0,100,30,94,"2026-05-20T08:57:21.281Z",[14],{"slug":15,"name":16,"version":17,"author":5,"author_profile":6,"description":18,"short_description":19,"active_installs":8,"downloaded":20,"rating":8,"num_ratings":8,"last_updated":21,"tested_up_to":22,"requires_at_least":23,"requires_php":24,"tags":25,"homepage":31,"download_link":32,"security_score":9,"vuln_count":8,"unpatched_count":8,"last_vuln_date":33,"fetched_at":34},"bracket-post-order","Bracket Post Order","1.2.6","\u003Cp>\u003Cstrong>Bracket Post Order\u003C\u002Fstrong> 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.\u003C\u002Fp>\n\u003Cp>A key feature is \u003Cstrong>per-term post ordering\u003C\u002Fstrong>: 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.\u003C\u002Fp>\n\u003Ch4>Three Types of Ordering\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>1. Global Post Ordering\u003C\u002Fstrong>\u003Cbr \u002F>\nDrag-and-drop to reorder posts, pages, and custom post types on the standard admin list table. The new order is saved to \u003Ccode>menu_order\u003C\u002Fcode> and automatically applied on the front end.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. Per-Term Post Ordering\u003C\u002Fstrong>\u003Cbr \u002F>\nFilter 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 \u003Cem>that specific term\u003C\u002Fem>. Assign the same post to multiple categories — each one keeps its own sort. New posts added to a term automatically appear first (newest on top).\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. Taxonomy Term Ordering\u003C\u002Fstrong>\u003Cbr \u002F>\nReorder categories, tags, and custom taxonomy terms themselves via drag-and-drop on the native \u003Ccode>edit-tags.php\u003C\u002Fcode> screen. The new term order is applied to \u003Ccode>get_terms()\u003C\u002Fcode> queries and navigation menus on the front end.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Reset Order\u003C\u002Fstrong> — Reset post order by date or title with one click. Most requested feature across all ordering plugins.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Undo\u003C\u002Fstrong> — “Order saved. [Undo]” link appears for 8 seconds after every reorder. Click to revert instantly.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mobile\u002FTouch Support\u003C\u002Fstrong> — Full touch drag-and-drop on phones and tablets via jQuery UI Touch Punch.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Keyboard Accessibility\u003C\u002Fstrong> — Tab to a row, Enter to activate, Arrow keys to move, Enter to save, Escape to cancel. WCAG compliant.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order Column\u003C\u002Fstrong> — “#” column shows each post’s position number at a glance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WPML & Polylang Support\u003C\u002Fstrong> — Per-term ordering works correctly across languages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin Bar Indicator\u003C\u002Fstrong> — Shows current ordering mode (Global or Per-Term) in the admin bar.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Settings Link\u003C\u002Fstrong> — Quick access from the Plugins page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>How It Works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Go to \u003Cstrong>Settings > Bracket Post Order\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Toggle on the post types you want to reorder\u003C\u002Fli>\n\u003Cli>Toggle on taxonomies for per-term post ordering\u003C\u002Fli>\n\u003Cli>Toggle on taxonomies for term reordering\u003C\u002Fli>\n\u003Cli>Visit your admin list pages and start dragging\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>Changes save automatically via AJAX — no page refresh needed.\u003C\u002Fp>\n\u003Ch4>Built for WordPress, Not Against It\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Works directly inside native admin list tables (\u003Ccode>edit.php\u003C\u002Fcode> and \u003Ccode>edit-tags.php\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>Uses standard \u003Ccode>menu_order\u003C\u002Fcode> for global ordering — compatible with any theme\u003C\u002Fli>\n\u003Cli>Uses \u003Ccode>term_order\u003C\u002Fcode> for taxonomy terms — the same column WordPress defines\u003C\u002Fli>\n\u003Cli>Per-term order stored as term meta — clean, portable, conflict-free\u003C\u002Fli>\n\u003Cli>Front-end queries are modified transparently via \u003Ccode>pre_get_posts\u003C\u002Fcode> and \u003Ccode>posts_clauses\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Explicit \u003Ccode>orderby\u003C\u002Fcode> parameters (date, title, etc.) are never overridden\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Works With\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Any public custom post type (portfolios, team members, testimonials, events, FAQs, services)\u003C\u002Fli>\n\u003Cli>WooCommerce products and product categories\u003C\u002Fli>\n\u003Cli>Any registered taxonomy with a UI\u003C\u002Fli>\n\u003Cli>Page builders that use standard \u003Ccode>WP_Query\u003C\u002Fcode> (Elementor, Divi, Beaver Builder)\u003C\u002Fli>\n\u003Cli>Themes that follow WordPress template hierarchy\u003C\u002Fli>\n\u003Cli>WPML and Polylang multilingual plugins\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For Developers\u003C\u002Fh4>\n\u003Cp>Bracket Post Order provides hooks so you can extend or control its behavior:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u002F\u002F Filter: skip per-term ordering for a specific query\nadd_filter( 'bracket_po_apply_term_post_order', function( $apply, $term_id, $query ) {\n    \u002F\u002F Return false to skip\n    return $apply;\n}, 10, 3 );\n\n\u002F\u002F Filter: modify the retrieved term post order\nadd_filter( 'bracket_po_get_term_post_order', function( $ordered_ids, $term_id ) {\n    return $ordered_ids;\n}, 10, 2 );\n\n\u002F\u002F Actions: fired after order is saved via drag-and-drop\ndo_action( 'bracket_po_global_order_updated', $post_ids );\ndo_action( 'bracket_po_term_post_order_updated', $term_id, $post_ids );\ndo_action( 'bracket_po_term_order_updated', $term_ids );\n\n\u002F\u002F Actions: fired after order is reset\ndo_action( 'bracket_po_global_order_reset', $post_type, $sort_by );\ndo_action( 'bracket_po_term_post_order_reset', $term_id );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To apply per-term order in custom queries, set \u003Ccode>orderby\u003C\u002Fcode> to \u003Ccode>menu_order\u003C\u002Fcode> and include a \u003Ccode>tax_query\u003C\u002Fcode> with a single term:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>$query = new WP_Query( [\n    'post_type' => 'product',\n    'orderby'   => 'menu_order',\n    'order'     => 'ASC',\n    'tax_query' => [ [\n        'taxonomy' => 'product-category',\n        'field'    => 'term_id',\n        'terms'    => 42,\n    ] ],\n] );\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin will automatically apply the saved per-term order via \u003Ccode>FIELD()\u003C\u002Fcode> SQL — ordered posts appear first, new\u002Funordered posts appear last (sorted by date, newest on top).\u003C\u002Fp>\n","Drag-and-drop ordering for posts, pages, custom post types, and taxonomy terms — with per-category post ordering.",331,"2026-04-09T12:16:00.000Z","6.9.4","6.2","7.4",[26,27,28,29,30],"custom-order","drag-and-drop","post-order","reorder","taxonomy-order","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fbracket-post-order\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbracket-post-order.1.2.6.zip",null,"2026-04-16T10:56:18.058Z"]