{"id":331470,"date":"2026-06-29T05:02:41","date_gmt":"2026-06-29T05:02:41","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/watrix-drag-drop-reorder\/"},"modified":"2026-09-12T07:40:03","modified_gmt":"2026-09-12T07:40:03","slug":"watrix-drag-drop-reorder","status":"publish","type":"plugin","link":"https:\/\/te.wordpress.org\/plugins\/watrix-drag-drop-reorder\/","author":13819045,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.2","stable_tag":"1.4.2","tested":"7.1.1","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"Watrix Drag Drop Reorder","header_author":"WATRIX\u5408\u540c\u4f1a\u793e","header_description":"Reorder posts, pages, custom post types, categories and tags with drag and drop, add sortable columns, and reorder the admin menu.","assets_banners_color":"faa66e","last_updated":"2026-09-12 07:40:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/watrix.co.jp\/","header_author_uri":"https:\/\/watrix.co.jp","rating":0,"author_block_rating":0,"active_installs":0,"downloads":264,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"watrix","date":"2026-06-29 05:02:28","revision":3589436},"1.4.0":{"tag":"1.4.0","author":"watrix","date":"2026-09-11 05:40:26","revision":3690845},"1.4.1":{"tag":"1.4.1","author":"watrix","date":"2026-09-12 01:55:05","revision":3692257},"1.4.2":{"tag":"1.4.2","author":"watrix","date":"2026-09-12 07:40:03","revision":3692439}},"upgrade_notice":{"1.4.2":"<p>&quot;Apply term order on front&quot; now really applies the order while another term ordering plugin is still active, so product tag order no longer jumps when you deactivate that plugin. A taxonomy with no saved order is left untouched.<\/p>","1.4.1":"<p>Keeps WooCommerce product lists in WooCommerce&#039;s sorting when &quot;Apply post order on front&quot; is on, and adds &quot;Import current display order&quot; to keep the order shown by Category Order and Taxonomy Terms Order after you deactivate it.<\/p>","1.4.0":"<p>Choose which taxonomies to reorder, and import the order saved by Category Order and Taxonomy Terms Order and similar plugins (with undo). WooCommerce product categories are left to WooCommerce&#039;s own ordering; if you added product_cat with a filter in 1.3.0, see the changelog.<\/p>","1.3.0":"<p>You can now override the label and icon of any admin menu item, and customize the separator color and thickness \u2014 all from the settings page.<\/p>","1.2.0":"<p>Separators and headings are now added separately, headings appear as a section band in the sidebar, and the settings list is redesigned with drag handles and type badges.<\/p>","1.1.0":"<p>You can now add, remove and label admin menu separators, and hide or restore core separators from the settings page.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3589436,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3589436,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3589436,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3589436,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.4.0","1.4.1","1.4.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3589436,"resolution":"1","location":"assets","locale":"","width":1400,"height":1180},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3589436,"resolution":"2","location":"assets","locale":"","width":1400,"height":1180},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3589436,"resolution":"3","location":"assets","locale":"","width":1400,"height":1180},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3589436,"resolution":"4","location":"assets","locale":"","width":1400,"height":1900}},"screenshots":{"1":"Drag and drop reordering on the Posts list.","2":"Reordering categories on the Categories list.","3":"Sortable Author \/ Categories \/ Tags \/ Comments columns.","4":"Settings page with feature toggles and admin menu reordering."}},"plugin_section":[],"plugin_tags":[22233,1794,3938,6511,4648],"plugin_category":[],"plugin_contributors":[268210],"plugin_business_model":[],"class_list":["post-331470","plugin","type-plugin","status-publish","hentry","plugin_tags-category-order","plugin_tags-custom-post-type","plugin_tags-drag-and-drop","plugin_tags-page-order","plugin_tags-post-order","plugin_contributors-watrix","plugin_committers-watrix"],"banners":{"banner":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/banner-772x250.png?rev=3589436","banner_2x":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/banner-1544x500.png?rev=3589436","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/icon-128x128.png?rev=3589436","icon_2x":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/icon-256x256.png?rev=3589436","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/screenshot-1.png?rev=3589436","caption":"Drag and drop reordering on the Posts list."},{"src":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/screenshot-2.png?rev=3589436","caption":"Reordering categories on the Categories list."},{"src":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/screenshot-3.png?rev=3589436","caption":"Sortable Author \/ Categories \/ Tags \/ Comments columns."},{"src":"https:\/\/ps.w.org\/watrix-drag-drop-reorder\/assets\/screenshot-4.png?rev=3589436","caption":"Settings page with feature toggles and admin menu reordering."}],"raw_content":"<!--section=description-->\n<p>Watrix Drag Drop Reorder is an all-in-one reordering plugin for the WordPress admin. Drag and drop rows right on the list screens you already use \u2014 no separate ordering screen.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li><strong>Post order<\/strong> \u2014 drag and drop rows on the Posts list. The order is stored in the core <code>menu_order<\/code> field and applied to the admin list (and optionally to the front end).<\/li>\n<li><strong>Page order<\/strong> \u2014 drag and drop rows on the Pages list, within the same parent. Fully compatible with the core \"Order\" attribute and Quick Edit values.<\/li>\n<li><strong>Custom post type order<\/strong> \u2014 drag and drop rows on the list screens of your custom post types. Every post type registered with an admin UI is supported out of the box; hierarchical post types behave like pages (within the same parent).<\/li>\n<li><strong>Category, tag &amp; custom taxonomy order<\/strong> \u2014 drag and drop rows on the Categories and Tags lists, and on the list screen of any taxonomy you select in Settings &gt; Sort Order (for example WooCommerce product tags or block pattern categories). The order is stored in term meta and applied to <code>get_terms()<\/code> \/ <code>wp_list_categories()<\/code> when no explicit order is requested.<\/li>\n<li><strong>Import existing order<\/strong> \u2014 switching from another term ordering plugin? Import the order it saved in the <code>term_order<\/code> column (Category Order and Taxonomy Terms Order and similar plugins) per taxonomy. Check how many terms will change before importing, and undo the import from a backup if needed. Running it again gives the same result.<\/li>\n<li><strong>WooCommerce friendly<\/strong> \u2014 product categories keep using WooCommerce's own ordering. Importing also updates WooCommerce's order so your store shows the imported order.<\/li>\n<li><strong>Sortable columns<\/strong> \u2014 click the Author, Categories, Tags and Comments column headers on the Posts list (and Author on the Pages list) to sort.<\/li>\n<li><strong>Slug column<\/strong> \u2014 show a Slug column on the post list screens of sortable post types. Click the header to sort by slug.<\/li>\n<li><strong>Admin menu order<\/strong> \u2014 reorder the top-level admin menu from the settings page. Add, remove and label separators; hide and restore core separators. <strong>Override the displayed label and icon<\/strong> for any top-level menu item, and <strong>customize the separator color and thickness<\/strong> to match your branding.<\/li>\n<li>Each feature can be enabled or disabled individually. Disabled features register no hooks and load no assets.<\/li>\n<li>Front-end ordering is <strong>off by default<\/strong>, so activating the plugin never changes your public site. Opt in from Settings &gt; Sort Order.<\/li>\n<li>Developer filters: <code>wddr_sortable_post_types<\/code>, <code>wddr_sortable_taxonomies<\/code>, <code>wddr_apply_front_order<\/code>, <code>wddr_apply_term_order<\/code>, <code>wddr_woocommerce_managed_taxonomies<\/code>, <code>wddr_import_min_ordered_ratio<\/code>.<\/li>\n<li>Uses only the bundled jQuery UI Sortable \u2014 no external scripts, no build step.<\/li>\n<\/ul>\n\n<p>\u65e5\u672c\u8a9e\u88dc\u8db3:<\/p>\n\n<ul>\n<li>\u6295\u7a3f\u30fb\u56fa\u5b9a\u30da\u30fc\u30b8\u30fb\u30ab\u30b9\u30bf\u30e0\u6295\u7a3f\u30bf\u30a4\u30d7\u30fb\u30ab\u30c6\u30b4\u30ea\u30fc\u30fb\u30bf\u30b0\u306e\u4e00\u89a7\u753b\u9762\u3067\u3001\u884c\u3092\u305d\u306e\u307e\u307e\u30c9\u30e9\u30c3\u30b0\uff06\u30c9\u30ed\u30c3\u30d7\u3057\u3066\u4e26\u3079\u66ff\u3048\u3089\u308c\u307e\u3059\u3002<\/li>\n<li>\u8a2d\u5b9a &gt; \u4e26\u3073\u66ff\u3048 \u3067\u3001\u4e26\u3079\u66ff\u3048\u308b\u30bf\u30af\u30bd\u30ce\u30df\u30fc\uff08WooCommerce \u306e\u5546\u54c1\u30bf\u30b0\u3001\u30d6\u30ed\u30c3\u30af\u30d1\u30bf\u30fc\u30f3\u306e\u30ab\u30c6\u30b4\u30ea\u30fc\u306a\u3069\u306e\u30ab\u30b9\u30bf\u30e0\u30bf\u30af\u30bd\u30ce\u30df\u30fc\uff09\u3092\u30c1\u30a7\u30c3\u30af\u3067\u9078\u3079\u307e\u3059\uff08\u65e2\u5b9a\u306f\u30ab\u30c6\u30b4\u30ea\u30fc\u3068\u30bf\u30b0\uff09\u3002<\/li>\n<li>\u4ed6\u306e\u4e26\u3079\u66ff\u3048\u30d7\u30e9\u30b0\u30a4\u30f3\uff08Category Order and Taxonomy Terms Order \u306a\u3069\u3001terms \u30c6\u30fc\u30d6\u30eb\u306e <code>term_order<\/code> \u5217\u306b\u4fdd\u5b58\u3059\u308b\u3082\u306e\uff09\u306e\u4e26\u3073\u9806\u3092\u3001\u30bf\u30af\u30bd\u30ce\u30df\u30fc\u5358\u4f4d\u3067\u53d6\u308a\u8fbc\u3081\u307e\u3059\u3002\u300c\u5909\u66f4\u4ef6\u6570\u3092\u78ba\u8a8d\u300d\u3067\u53d6\u308a\u8fbc\u3080\u524d\u306b\u4ef6\u6570\u3092\u78ba\u8a8d\u3067\u304d\u3001\u4f55\u5ea6\u5b9f\u884c\u3057\u3066\u3082\u7d50\u679c\u306f\u540c\u3058\u3067\u3059\u3002\u53d6\u308a\u8fbc\u307f\u524d\u306e\u4e26\u3073\u306f\u9000\u907f\u3055\u308c\u3001\u300c\u53d6\u308a\u8fbc\u307f\u3092\u5143\u306b\u623b\u3059\u300d\u3067\u623b\u305b\u307e\u3059\u3002<\/li>\n<li>WooCommerce \u306e\u5546\u54c1\u30ab\u30c6\u30b4\u30ea\u30fc\u306f WooCommerce \u81ea\u8eab\u306e\u4e26\u3073\u9806\uff08term meta <code>order<\/code>\uff09\u3092\u6b63\u3068\u3057\u3001\u53d6\u308a\u8fbc\u307f\u6642\u306f\u305d\u3061\u3089\u306b\u3082\u540c\u3058\u5024\u3092\u66f8\u304d\u8fbc\u307f\u307e\u3059\u3002<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u306b\u4e00\u89a7\u3092\u6301\u3064\u30ab\u30b9\u30bf\u30e0\u6295\u7a3f\u30bf\u30a4\u30d7\u306f\u8ffd\u52a0\u8a2d\u5b9a\u306a\u3057\u3067\u5bfe\u8c61\u306b\u306a\u308a\u307e\u3059\uff08\u968e\u5c64\u578b\u306f\u56fa\u5b9a\u30da\u30fc\u30b8\u3068\u540c\u3058\u304f\u540c\u4e00\u89aa\u5185\u306e\u307f\uff09\u3002<\/li>\n<li>\u6295\u7a3f\u306e\u4e26\u3073\u9806\u306f\u30b3\u30a2\u306e <code>menu_order<\/code>\u3001\u30bf\u30fc\u30e0\uff08\u30ab\u30c6\u30b4\u30ea\u30fc\u30fb\u30bf\u30b0\uff09\u306e\u4e26\u3073\u9806\u306f term meta <code>_wddr_term_order<\/code> \u306b\u4fdd\u5b58\u3057\u307e\u3059\u3002<\/li>\n<li>\u56fa\u5b9a\u30da\u30fc\u30b8\u306f\u540c\u4e00\u89aa\u5185\u306e\u5144\u5f1f\u9593\u306e\u307f\u4e26\u3079\u66ff\u3048\u3067\u304d\u307e\u3059\uff08\u89aa\u5b50\u95a2\u4fc2\u306f\u5909\u66f4\u3057\u307e\u305b\u3093\uff09\u3002<\/li>\n<li>\u6295\u7a3f\u4e00\u89a7\u306e\u300c\u6295\u7a3f\u8005\u300d\u300c\u30ab\u30c6\u30b4\u30ea\u30fc\u300d\u300c\u30bf\u30b0\u300d\u300c\u30b3\u30e1\u30f3\u30c8\u300d\u5217\u3001\u56fa\u5b9a\u30da\u30fc\u30b8\u4e00\u89a7\u306e\u300c\u6295\u7a3f\u8005\u300d\u5217\u304c\u30af\u30ea\u30c3\u30af\u3067\u30bd\u30fc\u30c8\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/li>\n<li>\u4e26\u3079\u66ff\u3048\u5bfe\u8c61\u306e\u6295\u7a3f\u30bf\u30a4\u30d7\u306e\u4e00\u89a7\u753b\u9762\u306b\u300c\u30b9\u30e9\u30c3\u30b0\u300d\u5217\u3092\u8868\u793a\u3067\u304d\u307e\u3059\uff08\u30af\u30ea\u30c3\u30af\u3067\u30b9\u30e9\u30c3\u30b0\u9806\u306b\u30bd\u30fc\u30c8\uff09\u3002<\/li>\n<li>\u7ba1\u7406\u753b\u9762\u5de6\u30b5\u30a4\u30c9\u30d0\u30fc\u306e\u30c8\u30c3\u30d7\u30ec\u30d9\u30eb\u30e1\u30cb\u30e5\u30fc\u3092\u8a2d\u5b9a\u30da\u30fc\u30b8\u304b\u3089\u4e26\u3079\u66ff\u3048\u3089\u308c\u307e\u3059\uff08\u30b5\u30a4\u30c8\u5168\u4f53\u5171\u901a\uff09\u3002\u5404\u30e1\u30cb\u30e5\u30fc\u306e<strong>\u8868\u793a\u30c6\u30ad\u30b9\u30c8\u3068\u30a2\u30a4\u30b3\u30f3\u3092\u500b\u5225\u306b\u4e0a\u66f8\u304d<\/strong>\u3067\u304d\u307e\u3059\u3002<strong>\u533a\u5207\u308a\u7dda\u306e\u8272\u3068\u592a\u3055<\/strong>\u3082\u30ab\u30e9\u30fc\u30d4\u30c3\u30ab\u30fc\u3067\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002<\/li>\n<li>\u30d5\u30ed\u30f3\u30c8\uff08\u516c\u958b\u5074\uff09\u3078\u306e\u4e26\u3073\u9806\u53cd\u6620\u306f\u65e2\u5b9a\u3067\u30aa\u30d5\u3067\u3059\u3002\u8a2d\u5b9a &gt; \u4e26\u3073\u66ff\u3048 \u304b\u3089\u30aa\u30d7\u30c8\u30a4\u30f3\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/li>\n<li>7\u3064\u306e\u6a5f\u80fd\u306f\u305d\u308c\u305e\u308c\u500b\u5225\u306b\u30aa\u30f3\/\u30aa\u30d5\u3067\u304d\u307e\u3059\u3002<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>wp-content\/plugins\/<\/code> or install it from Plugins &gt; Add New, then activate it.<\/li>\n<li>Open the Posts, Pages, Categories or Tags list and drag rows to reorder them. The new order is saved automatically.<\/li>\n<li>Open Settings &gt; Sort Order to toggle features, reorder the admin menu, or opt in to front-end ordering.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20is%20the%20order%20data%20stored%3F\"><h3>Where is the order data stored?<\/h3><\/dt>\n<dd><p>Post and page order is stored in the core <code>menu_order<\/code> column of the posts table. Term order (categories, tags and the taxonomies you select) is stored in the term meta key <code>_wddr_term_order<\/code>; for taxonomies ordered by WooCommerce (product categories) the same value is also written to WooCommerce's term meta <code>order<\/code>. The feature toggles, the selected taxonomies, the top-level admin menu order, the custom and hidden admin menu separators, and the per-menu label \/ icon \/ separator-style overrides are stored in eight options (<code>wddr_settings<\/code>, <code>wddr_term_taxonomies<\/code>, <code>wddr_admin_menu_order<\/code>, <code>wddr_admin_menu_separators<\/code>, <code>wddr_admin_menu_hidden_separators<\/code>, <code>wddr_admin_menu_labels<\/code>, <code>wddr_admin_menu_icons<\/code> and <code>wddr_admin_menu_separator_style<\/code>). Import backups (the previous values of the terms an import changed and the order the import wrote) are stored per taxonomy in options named <code>wddr_import_backup_{taxonomy}<\/code> and <code>wddr_import_backupdata_{taxonomy}<\/code>, listed in <code>wddr_import_backup_taxonomies<\/code> (none of them is autoloaded), until you undo the import or discard the backup. No database tables are added or altered.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20uninstall%20the%20plugin%3F\"><h3>What happens when I uninstall the plugin?<\/h3><\/dt>\n<dd><p>Uninstalling deletes the plugin's own data: the options listed above and the <code>_wddr_term_order<\/code> term meta. WooCommerce's <code>order<\/code> term meta belongs to WooCommerce and is kept. The <code>menu_order<\/code> values are <strong>kept<\/strong>, because <code>menu_order<\/code> is a core field shared with other features (such as the page \"Order\" attribute); resetting it could break ordering you set elsewhere. Your content is never touched.<\/p><\/dd>\n<dt id=\"why%20can%27t%20i%20drag%20rows%3F\"><h3>Why can't I drag rows?<\/h3><\/dt>\n<dd><p>Drag and drop is paused while the list is sorted by a column (for example after clicking the Title, Author or a taxonomy column header, or when you arrive via a link that includes a sort). Reordering a column-sorted list would be ambiguous, so the plugin disables dragging and shows an admin notice instead. Click \"Show default order\" in the notice (or remove the sort from the column header) to switch back to the saved order \u2014 dragging works again immediately. Also make sure the feature for that screen is enabled in Settings &gt; Sort Order.<\/p><\/dd>\n<dt id=\"i%20reordered%20posts%20but%20the%20front%20end%20did%20not%20change.%20why%3F\"><h3>I reordered posts but the front end did not change. Why?<\/h3><\/dt>\n<dd><p>Front-end ordering is off by default so that activating the plugin never changes your public site. Enable \"Apply post order on front\" (and\/or \"Apply term order on front\") in Settings &gt; Sort Order. Note that sticky posts still appear first \u2014 that is standard WordPress behavior.<\/p><\/dd>\n<dt id=\"i%20dragged%20rows%20while%20filtering%20the%20list%20by%20category.%20what%20order%20was%20saved%3F\"><h3>I dragged rows while filtering the list by category. What order was saved?<\/h3><\/dt>\n<dd><p>The global order. Watrix Drag Drop Reorder keeps a single order per post type (and per taxonomy); it does not store a separate order per category filter. Reordering a filtered list updates the global positions of the rows you see.<\/p><\/dd>\n<dt id=\"can%20i%20use%20watrix%20drag%20drop%20reorder%20together%20with%20another%20ordering%20plugin%3F\"><h3>Can I use Watrix Drag Drop Reorder together with another ordering plugin?<\/h3><\/dt>\n<dd><p>No. Two ordering plugins change the same queries and fight over the result (for example, Category Order and Taxonomy Terms Order overrides the term order, and post ordering plugins write to the same <code>menu_order<\/code> field). Use one ordering plugin at a time. To switch without losing your order:<\/p>\n\n<ol>\n<li>In Settings &gt; Sort Order, select the taxonomies you want to reorder under \"Taxonomies\" and save.<\/li>\n<li>Under \"Import existing order\", click \"Check changes\" and then \"Import\" for each taxonomy. Do this while the old plugin is still active \u2014 the data it saved stays in place either way. The order before the first import is backed up; \"Undo import\" restores it.\nIf the old plugin is Category Order and Taxonomy Terms Order with Auto Sort on, you can instead click \"Check current display order\" and \"Import current display order\". That copies the order your site shows right now, which is the only way to keep it when the old plugin never saved an order (every term_order is 0) and the order is simply what the database returns. The settings page tells you whether its Auto Sort is on.<\/li>\n<li>Deactivate the old ordering plugin(s).<\/li>\n<li>Turn on \"Apply post order on front\" and\/or \"Apply term order on front\" so the public site keeps the same order.<\/li>\n<\/ol>\n\n<p>Tip: turning on step 4 before step 3 avoids a short moment in which visitors see the default order. For product categories, turn on \"Apply term order on front\" too if your theme or blocks read them by name (the Store API does), because WooCommerce applies its own order only to queries that do not ask for a specific order. Product categories ordered by WooCommerce need no front-end setting: WooCommerce applies its own order, which the import has updated.<\/p><\/dd>\n<dt id=\"the%20import%20timed%20out%20on%20a%20very%20large%20site.%20what%20now%3F\"><h3>The import timed out on a very large site. What now?<\/h3><\/dt>\n<dd><p>Run the import again. It only writes terms whose order is not yet up to date, so each run continues where the previous one stopped. The backup of an unfinished import is kept, so \"Undo import\" still returns to the order from before it started. \"Check changes\" shows 0 terms to update when it is complete.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20import%20post%20and%20page%20order%20from%20real%20custom%20post%20order%2C%20intuitive%20custom%20post%20order%20or%20post%20types%20order%3F\"><h3>Do I need to import post and page order from Real Custom Post Order, Intuitive Custom Post Order or Post Types Order?<\/h3><\/dt>\n<dd><p>No. These plugins store the post order in the core <code>menu_order<\/code> field, which Watrix Drag Drop Reorder reads and writes as is. After you deactivate them, the list screens keep the same order. For the public site, turn on \"Apply post order on front\" in Settings &gt; Sort Order.<\/p><\/dd>\n<dt id=\"how%20does%20it%20work%20with%20woocommerce%20product%20categories%3F\"><h3>How does it work with WooCommerce product categories?<\/h3><\/dt>\n<dd><p>WooCommerce orders product categories (and product attributes) itself: it stores the order in the term meta <code>order<\/code>, sorts them that way everywhere, and adds its own drag and drop to the Product categories screen. To avoid two plugins fighting over the same screen and query, Watrix Drag Drop Reorder leaves these taxonomies to WooCommerce: it does not add its own drag and drop there and does not change their queries. When you import an existing order for product categories, the same order is written to WooCommerce's <code>order<\/code> meta as well, so the store shows the imported order right away. WooCommerce's previous order is backed up first and can be restored with \"Undo import\". To protect your store, the import is disabled when fewer than half of the terms have a saved order (it would mostly sort them by name; developers can change the ratio with the <code>wddr_import_min_ordered_ratio<\/code> filter), and \"Check changes\" shows how many terms WooCommerce currently orders differently \u2014 for example after you reordered them in WooCommerce \u2014 because importing again would revert them. With \"Apply term order on front\" on, WooCommerce's order is also applied to front-end queries of product categories that sort by name, such as the Store API, so the storefront keeps one order everywhere. Product tags are not ordered by WooCommerce, so they work like any other taxonomy. Developers can change which taxonomies are treated as WooCommerce-managed with the <code>wddr_woocommerce_managed_taxonomies<\/code> filter.<\/p><\/dd>\n<dt id=\"the%20order%20numbers%20looked%20odd%20right%20after%20my%20first%20drag%20on%20a%20large%20site.%20is%20that%20a%20problem%3F\"><h3>The order numbers looked odd right after my first drag on a large site. Is that a problem?<\/h3><\/dt>\n<dd><p>No. When existing posts have mixed or duplicate <code>menu_order<\/code> values, Watrix Drag Drop Reorder falls back to renumbering the visible page from the smallest value. This can temporarily overlap with neighboring pages, but the list stays stable (date is used as the secondary sort key) and the numbering self-heals the next time you reorder that page.<\/p><\/dd>\n<dt id=\"which%20post%20types%20are%20supported%3F\"><h3>Which post types are supported?<\/h3><\/dt>\n<dd><p>Posts, pages and every custom post type that has an admin list screen (registered with <code>show_ui<\/code>). Custom post types work out of the box \u2014 no code needed \u2014 and can be turned off with the \"Custom post type order\" toggle in Settings &gt; Sort Order. Hierarchical post types are reordered within the same parent, like pages. Developers can narrow or extend the list with the <code>wddr_sortable_post_types<\/code> filter.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20custom%20post%20types%20and%20taxonomies%3F\"><h3>Does it work with custom post types and taxonomies?<\/h3><\/dt>\n<dd><p>Custom post types are supported out of the box (see the previous answer). Custom taxonomies can be selected in Settings &gt; Sort Order &gt; Taxonomies (every taxonomy registered with <code>show_ui<\/code> is listed). Developers can still narrow or extend the selection with the <code>wddr_sortable_taxonomies<\/code> filter, which now receives the selected taxonomies.<\/p><\/dd>\n<dt id=\"anything%20to%20know%20for%20very%20large%20sites%3F\"><h3>Anything to know for very large sites?<\/h3><\/dt>\n<dd><p>Sorting the Categories\/Tags columns on the Posts list uses a JOIN with <code>GROUP_CONCAT<\/code>, which is limited to the admin screens. Saving a term order reads the taxonomy with a single query and writes only the terms whose position changed, and the settings page only counts terms until you click \"Check changes\". Measured on a test site with 5,000 terms and 10,000 posts: saving a drag and drop on a term list takes about 40 ms, checking changes about 30 ms, and importing 5,000 terms about 1 second. Front-end ordering adds no extra queries.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fixed: with \"Apply term order on front\" on, the order saved here was not applied while another term ordering plugin (such as Category Order and Taxonomy Terms Order) was still active, so the front end only changed the moment that plugin was deactivated. Product tags were hit hardest: product categories keep their order in WooCommerce's own <code>order<\/code> term meta, but product tags have nothing else to fall back on, so their order jumped on deactivation. The order is now applied last (after WooCommerce and after other ordering plugins), so you can turn the setting on, compare the front end, and only then deactivate the old plugin.<\/li>\n<li>A taxonomy with no saved order is left alone entirely, so turning \"Apply term order on front\" on before importing no longer moves anything.<\/li>\n<li>Fixed: WooCommerce's own numeric name sorting (<code>name_num<\/code>, used by product attributes set to sort by numeric name) and its menu order sorting are no longer overwritten.<\/li>\n<li>Reading the current display order for the import no longer removes a <code>wddr_apply_term_order<\/code> filter added by other code, and no longer leaves its own filters behind if the query throws.<\/li>\n<li>New filter <code>wddr_terms_clauses_priority<\/code> to change the priority the order is applied at, for sites where another plugin sorts terms even later.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Fixed: with \"Apply post order on front\" on, WooCommerce product lists (the shop and product category and tag pages) were sorted by menu order instead of the sorting set in WooCommerce. This plugin set the order before WooCommerce, which then read it as a requested sort and skipped its default sorting (title, price and so on). WooCommerce product lists and single-page queries are now left to WooCommerce. New filter <code>wddr_is_woocommerce_catalog_query<\/code>.<\/li>\n<li>New: \"Import current display order\" for taxonomies sorted by Category Order and Taxonomy Terms Order with Auto Sort on. It copies the order shown on the front end right now, including sites where every term_order is 0 and the order is simply what the database returns, so deactivating the old plugin keeps the same order. The import is backed up and can be undone like the other import. The settings page shows whether the old plugin's Auto Sort is on.<\/li>\n<li>With \"Apply term order on front\" on, WooCommerce's own order is now also applied to front-end queries of product categories that sort by name, such as the Store API (WooCommerce applies its order only when no order is requested). Product attributes keep their own sorting.<\/li>\n<li>Fixed: with \"Apply post order on front\" on, search results were sorted by menu order instead of by relevance. Search results are now left to WordPress.<\/li>\n<li>Fixed: term queries that ask for <code>name<\/code> in descending order now come back in descending order instead of ascending.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Taxonomies: choose which taxonomies can be reordered from Settings &gt; Sort Order (every taxonomy with an admin UI is listed, such as WooCommerce product tags or block pattern categories). Categories and tags stay selected by default; the <code>wddr_sortable_taxonomies<\/code> filter now runs on the selection.<\/li>\n<li>Import existing order: copy the term order saved in the <code>term_order<\/code> column by plugins such as Category Order and Taxonomy Terms Order, per taxonomy. \"Check changes\" shows how many terms will change before you import; running it again gives the same result and only writes terms that are not up to date yet (safe to re-run after a timeout). The order before the first import is backed up and can be restored with \"Undo import\". Administrators only.<\/li>\n<li>WooCommerce: taxonomies ordered by WooCommerce (product categories, product brands, product attributes) are left to WooCommerce \u2014 no second drag and drop on their screen and no query changes. Importing and saving also write WooCommerce's <code>order<\/code> term meta so both stay in sync. The import is disabled when fewer than half of the terms have a saved order, and \"Check changes\" warns about terms WooCommerce currently orders differently.<\/li>\n<li>Undo: \"Undo import\" returns every term to its exact value from before the latest import, even after the list was reordered with drag and drop here or in WooCommerce. The backup keeps the previous values of the terms the import changed plus the order the import wrote; terms the import did not change are restored to that order, which equals their value before the import. The backup is taken again at each import once the previous import has finished (so undo returns to the order right before the latest import), and a backup of an import that stopped halfway is kept until the import completes, including when the re-run finds nothing left to write. The undo confirmation shows the backup date.<\/li>\n<li>Backups are stored per taxonomy (options <code>wddr_import_backup_{taxonomy}<\/code> for the date and status, <code>wddr_import_backupdata_{taxonomy}<\/code> for the values; neither is autoloaded), so large tag sets no longer create one big option and the settings page reads only the small status option. Backups can be discarded from the settings page, including those of taxonomies that are no longer selected or whose plugin is inactive. Uninstalling removes every backup and import notice, even ones missing from the backup list.<\/li>\n<li>A selected taxonomy that is registered without an admin screen (show_ui off) is no longer labelled as not registered.<\/li>\n<li>Resuming an import that stopped halfway keeps the order of the stopped import as the undo target, so \"Undo import\" still returns to the order from before it, even if terms were reordered in between.<\/li>\n<li>Resuming a stopped import whose backup data is damaged is refused instead of retaking the backup from the half-imported state (discard the backup, then import again). A backup that could not be saved at all is also removed from the backup list.<\/li>\n<li>The backup is read back from the database before the import writes anything; if it cannot be confirmed, the import is not run. If the backup data is later missing or damaged, \"Undo import\" reports it instead of claiming success, and the backup can be discarded from the settings page (also when only the backup data is left).<\/li>\n<li>Selected taxonomies that are not registered right now (for example while their plugin is inactive) stay selected and are shown in the settings page, where they can be unchecked to remove them.<\/li>\n<li>Term order meta: rows with an empty value or duplicate rows are updated in place instead of adding new rows, and term queries no longer return duplicate terms when duplicate order rows exist.<\/li>\n<li>Note for sites that added <code>product_cat<\/code> with the <code>wddr_sortable_taxonomies<\/code> filter in 1.3.0: while WooCommerce is active, WooCommerce already replaced the query order with its own <code>order<\/code> meta, so the order saved by this plugin was not what your store showed. Nothing changes on the store in 1.4.0; the Product categories screen now uses only WooCommerce's drag and drop. To copy an order from another plugin into WooCommerce, use the import.<\/li>\n<li>Performance: saving a term drag and drop now writes only the terms whose position changed and reads the current order with one query (1,000 terms: about 165 ms to 17 ms; 5,000 terms: about 770 ms to 36 ms in our measurements). Saving a post order primes the post cache in one query. The settings page no longer computes the import preview on every load.<\/li>\n<li>FAQ: how to switch from another ordering plugin, and why post order needs no import.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Admin menu order: override the <strong>displayed label<\/strong> of any top-level menu item from the settings page (update badges such as comment \/ plugin counts are preserved).<\/li>\n<li>Admin menu order: override the <strong>icon<\/strong> of any top-level menu item \u2014 accepts a Dashicons class (e.g. <code>dashicons-megaphone<\/code>), an <code>https:\/\/<\/code> URL, an SVG data URI, or <code>none<\/code> for a hidden icon.<\/li>\n<li>Admin menu order: customize the <strong>separator color and thickness<\/strong> (1\u20135 px) from the settings page. The color picker uses the WordPress core color picker.<\/li>\n<li>All overrides use the same normalized slug matching as the reorder feature, so menus with symbol-rich slugs (such as <code>customize.php?return=...<\/code>) are matched reliably.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Admin menu order: separators and headings are now added independently with two separate buttons (\"Add separator\" and \"Add heading\"). Up to 10 of each type.<\/li>\n<li>Headings are shown as a styled section band in the admin sidebar (background band, flush left gutter, vertically centered).<\/li>\n<li>Redesigned the settings list: each row shows a drag handle, a type badge (separator \/ heading \/ core separator) and a clearer separator line, so the row type is recognizable at a glance.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Admin menu order: add, remove and label separators with optional heading text; hide and restore core separators. All from the settings page, saved with the existing Settings API form (no extra Ajax). Up to 10 custom separators.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: drag-and-drop ordering for posts, pages, custom post types, categories and tags; sortable admin columns (Author \/ Categories \/ Tags \/ Comments); Slug column on list screens; top-level admin menu reordering; per-feature toggles; opt-in front-end ordering.<\/li>\n<\/ul>","raw_excerpt":"Reorder posts, pages, custom post types, categories, tags and custom taxonomies with drag and drop, add sortable columns, and reorder the admin menu.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331470","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331470"}],"author":[{"embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/watrix"}],"wp:attachment":[{"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331470"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331470"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331470"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331470"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331470"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/te.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}