\define alphasort() <$action-listops $tidd ler="HelloThere" $subfilter="+[sort[]]"/>
<$button actions=<<alphasort>>
Sort "HelloThere"
</$button>\define alphasort() <$action-listops $tiddler="HelloThere" $filter="[tag[HelloThere]sort[]]"/>
<$button actions=<<alphasort>>>
Sort "HelloThere"
</$button>\define tagsort(mainTag, label:"Sort Tags", order:"ascend")
<$button>$label$
<$reveal type="match" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>sortan[]]"/>
</$reveal>
<$reveal type="nomatch" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>!sortan[]]"/>
</$reveal>
</$button>
\endThank you all for help. Mohammad’s solution to Mark’s exercise is perfect. It solved my issue.
Using Mohammad macro, I cannibalized the replace-tag wizard macro to create following wizard
\define sortTagWizard()
<$edit-text
tiddler="$:/temp/sort-tag-tiddlers"
field="sortTag"
tag="input"
default=""
placeholder="select tag to sort"
focusPopup=<<qualify "$:/state/popup/sort-tag-tiddlers">>
class="tc-popup-handle"/>
<$button
popup=<<qualify "$:/state/popup/sort-tag-tiddlers">>
class="tc-btn-invisible tc-btn-dropdown"
tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}}
aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>
{{$:/core/images/down-arrow}}</$button>
<$reveal state="$:/temp/sort-tag-tiddlers!!sortTag" type="nomatch" text="">
<$button class="tc-btn-invisible tc-btn-dropdown">
<$action-deletetiddler $tiddler="$:/temp/sort-tag-tiddlers"/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
<$reveal state="$:/temp/sort-tag-tiddlers!!sortTag" type="nomatch" text="">
<$macrocall $name="tagsort" mainTag={{$:/temp/sort-tag-tiddlers!!sortTag}} label="Sort {{$:/temp/sort-tag-tiddlers!!sortTag}} tag"/>
</$reveal>
<div class="tc-block-dropdown-wrapper">
<$reveal
state=<<qualify "$:/state/popup/sort-tag-tiddlers">>
type="nomatch"
text=""
default="">
<div class="tc-block-dropdown">
<$linkcatcher to="$:/temp/sort-tag-tiddlers!!sortTag">
<$list filter="[tags[]search:title{$:/temp/sort-tag-tiddlers!!sortTag}sort[]]">
{{||$:/core/ui/Components/tag-link}}
</$list>
</$linkcatcher>
</div>
</$reveal>
</div>
\end
<<sortTagWizard>>
It does not take advantage of sort order option, due to lack of my skills. What you get is


Hope someone would find it useful.
Tony this is not a plugin but gets the job done.
I tag this tiddler with $:/tags/TagDropdown.
\define tagSortFunc(mainTag, order:"ascend")
<$reveal type="match" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>sortan[]]"/>
</$reveal>
<$reveal type="nomatch" default="ascend" text=<<__order__>> >
<$action-listops $tiddler=<<__mainTag__>> $filter="[tag<__mainTag__>!sortan[]]"/>
</$reveal>
\end
\define sortInTagDropdown()
<$button tooltip="Sort tiddlers A → Z" aria-label="Sort tiddlers A → Z" class='tc-btn-invisible'>Sort {{!!title}} tiddlers A → Z
<$macrocall $name="tagSortFunc" mainTag={{!!title}}/>
</$button>
<$button tooltip="Sort tiddlers Z → A" aria-label="Sort tiddlers Z → A" class='tc-btn-invisible'>Sort {{!!title}} tiddlers Z → A
<$macrocall $name="tagSortFunc" mainTag={{!!title}} order="no-ascend"/>
</$button>
\end
<<sortInTagDropdown>>
The result is

The eject icon is from openall plugin.
This tiddler needs CSS tweaking though.