Skip to content

WordPress Plugin

Control how your post tags appear

Set Tag Order lets editors choose the order post tags appear in, instead of accepting WordPress’s default alphabetical listing. It works in both the Block Editor and the Classic Editor.

Free and open source. Requires WordPress 6.3 or later and PHP 7.4.

Version
1.2.1
Requires WP
6.3+
Tested to
7.1
Requires PHP
7.4+
Editors
Block and Classic

What it does

  • Custom tag order

    Drag, or use the keyboard, to put tags in the order you want. The order is stored on the post, so it survives switching editors.

  • Sort A-Z

    One control in either editor to fall back to alphabetical, for when that is what you actually wanted.

  • Custom separator

    Choose the character between tags, or none at all. Replaced only between tags, never inside tag names or URLs.

  • Custom CSS classes

    Add classes to tag links without rebuilding the link, preserving rel="tag" and attributes added by other plugins.

  • Both editors, same behaviour

    Full ordering support in the Block Editor and the Classic Editor, including the always-iframed editor introduced in WordPress 7.1.

Every feature, in full

FeatureWhat It Does for You
Custom tag orderDrag, or use the keyboard, to put tags in the order you want — set per post and stored on the post, so it survives switching editors.
Sort A-ZOne control in either editor to fall back to alphabetical, for when that is what you actually wanted.
Custom separatorChoose the character that appears between tags, or none at all. The separator is replaced only between tags, never inside tag names or URLs.
Custom CSS classesAdd classes to tag links so your theme can style them. Classes are applied without rebuilding the link, preserving rel="tag" and attributes added by other plugins.
Both editorsThe same ordering behaviour in the Block Editor and the Classic Editor, including the always-iframed editor introduced in WordPress 7.1.
Works with core/post-termsTag order and classes are applied before the block renders, so the block keeps its own wrapper markup, alignment, link colour, block supports, and prefix and suffix text.
Accessible by defaultKeyboard reordering, labelled reorder buttons, and screen reader announcements when tags are reordered, added, or removed.
Filters for developerssettagord_ordered_tags, settagord_separator, and settagord_link_classes for theme and plugin integration.
TranslatableA translation template ships in languages/, and the editor panel strings are translated.

Who it’s for

  • Editors who care about order

    Put the tag that matters first instead of whichever one happens to start with an “a”.

  • Theme developers

    Control the separator and the CSS classes on tag links, and hook the output with three documented filters.

  • Classic Editor holdouts

    Full ordering support in the classic tag box, including creating new tags and reordering from the keyboard.

  • Accessibility-minded teams

    Reordering works without a mouse, controls are labelled, and changes are announced to screen readers.

  • Anyone on a block theme

    Tag order applies to the core post-terms block without replacing its renderer.

What changed in the latest release

1.2.1

Version 1.2.1 is a narrow fix: the settagord_ordered_tags filter now runs exactly once per render, and on posts with no saved order. Callbacks previously never saw unordered posts and ran twice on ordered ones.

The release worth updating for is 1.2.0. It added keyboard reordering to the Classic Editor tag box — reordering had been drag-only, which left no way to change tag order without a mouse — along with a Sort A-Z control in both editors and screen reader announcements. It also stopped replacing the core/post-terms renderer, so the block keeps its own markup and block supports, and fixed Classic Editor order loading, which had never run because it required a nonce WordPress does not issue.

Put your tags in the order you meant

Download Set Tag Order