{"id":23473,"date":"2013-05-22T06:20:43","date_gmt":"2013-05-22T06:20:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/the-taxonomy-sort\/"},"modified":"2026-08-24T09:37:27","modified_gmt":"2026-08-24T09:37:27","slug":"the-taxonomy-sort","status":"publish","type":"plugin","link":"https:\/\/pl.wordpress.org\/plugins\/the-taxonomy-sort\/","author":9958016,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1","stable_tag":"2.1","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"The Taxonomy Sort","header_author":"KonektOU","header_description":"","assets_banners_color":"","last_updated":"2026-08-24 09:37:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/the-taxonomy-sort\/","header_author_uri":"https:\/\/www.konekt.ee","rating":4.1,"author_block_rating":0,"active_installs":50,"downloads":5507,"num_ratings":14,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1":{"tag":"1.1","author":"RistoNiinemets","date":"2013-06-27 09:41:54"},"2.0":{"tag":"2.0","author":"RistoNiinemets","date":"2017-06-22 05:41:31"},"2.1":{"tag":"2.1","author":"RistoNiinemets","date":"2026-08-24 09:37:27"}},"upgrade_notice":{"2.1":"<p>Fixes term queries coming back empty, drops the per-term database queries, and closes a hole that let any logged-in user reorder terms. Your saved order is kept.<\/p>"},"ratings":{"1":"2","2":0,"3":"2","4":0,"5":"10"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1","2.0","2.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[610,10561,6658,91,1901],"plugin_category":[57],"plugin_contributors":[85077],"plugin_business_model":[],"class_list":["post-23473","plugin","type-plugin","status-publish","hentry","plugin_tags-categories","plugin_tags-ordering","plugin_tags-sorting","plugin_tags-taxonomy","plugin_tags-terms","plugin_category-taxonomy","plugin_contributors-ristoniinemets","plugin_committers-ristoniinemets"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/the-taxonomy-sort.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Most commonly taxonomy sorting plugins will create a new interface to drag or order\/sort your terms. This plugin uses the built-in view just to make things easier. Just grab the term and drag it to a new position. No more extra clicks - everything is saved after repositioning!<\/p>\n\n<p>The order is applied to term queries that did not ask for an order of their own. A query that explicitly sorts by count, slug, term order or anything else gets what it asked for, so themes and plugins that sort terms themselves are left alone.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload <code>the-taxonomy-sort\/<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to taxonomy page (for example Posts -&gt; Categories) and drag the table rows to change ordering.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20there%20a%20way%20to%20disable%20it%20for%20some%20taxonomies%3F\"><h3>Is there a way to disable it for some taxonomies?<\/h3><\/dt>\n<dd><p>Yes, as of version 2.1. Return the taxonomies it should apply to, and it applies to no others:<\/p>\n\n<pre><code>add_filter( 'the_taxonomy_sort_define_taxonomies', function () {\n    return array( 'category', 'product_cat' );\n} );\n<\/code><\/pre>\n\n<p>For a decision per query - one taxonomy sorted in the admin but not on the front end, say - there is <code>the_taxonomy_sort_is_sortable<\/code>:<\/p>\n\n<pre><code>add_filter( 'the_taxonomy_sort_is_sortable', function ( $sortable, $taxonomies, $args ) {\n    return is_admin() ? $sortable : false;\n}, 10, 3 );\n<\/code><\/pre><\/dd>\n<dt id=\"does%20it%20work%20with%20hierarchical%20taxonomies%3F\"><h3>Does it work with hierarchical taxonomies?<\/h3><\/dt>\n<dd><p>Yes. Terms are ordered among their siblings; WordPress still nests children under their parent, so dragging a child to the top of the list moves it to the top of its own branch.<\/p><\/dd>\n<dt id=\"who%20is%20allowed%20to%20reorder%20terms%3F\"><h3>Who is allowed to reorder terms?<\/h3><\/dt>\n<dd><p>Whoever may manage that taxonomy's terms - the same capability WordPress checks before showing the taxonomy screen.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1<\/h4>\n\n<ul>\n<li>Fix: term queries that ask for ids, names or slugs came back empty, which emptied tag autocomplete, WooCommerce attribute terms and anything else built on them<\/li>\n<li>Fix: two terms sharing a position made one of them disappear from every list<\/li>\n<li>Fix: the sorting no longer costs one database query per term - it is done in SQL, in the query that was going to run anyway<\/li>\n<li>Fix: dragging on page two of a paginated taxonomy no longer renumbers over page one, which is what made the last terms of a long list look unsortable<\/li>\n<li>Fix: rows can be dragged past the bottom of the table again<\/li>\n<li>Fix: uninstalling now removes the order it saved (it was deleting post meta, where nothing was ever stored)<\/li>\n<li>Security: saving an order now requires a nonce and the capability to manage that taxonomy's terms; any logged-in user could previously reorder every term on the site<\/li>\n<li>Feature: <code>the_taxonomy_sort_define_taxonomies<\/code> and <code>the_taxonomy_sort_is_sortable<\/code> filters to limit where the order applies<\/li>\n<li>Queries that ask for a specific order are left alone, so term sorting done by themes and other plugins keeps working<\/li>\n<li>Tested against PHP 8.4 and WordPress 7.1<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Using now term meta<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Fix: Uninstallation hook notice<\/li>\n<li>Feature: Activity spinner on saving the order<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Welcoming plugin to WordPress plugins!<\/li>\n<\/ul>","raw_excerpt":"Allows you to easily change the order of different taxonomies\/terms\/categories.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/23473","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=23473"}],"author":[{"embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ristoniinemets"}],"wp:attachment":[{"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=23473"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=23473"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=23473"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=23473"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=23473"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=23473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}