概要説明
WordPress のカテゴリーの並び順を、プラグイン Category Order and Taxonomy Terms Order でドラッグして変える方法。自動で反映する設定(Autosort)と、get_terms・wp_list_categories で並べた順に出すコード、プラグインを止めたときの注意も。
プラグインで並び順を変える
WordPress のカテゴリーは、何もしないと名前の順や作った順に並びます。カテゴリーが増えてくると、「よく使うものを上に」「話の流れの順に」並べたくなります。WordPress 本体には並び順を変える機能がないので、プラグインを使います。
- 無料・有効なサイト 50 万以上。2026 年 8 月にも更新され、WordPress 7.1.3 まで動作確認されています(2026 年 10 月に確認)。
- カテゴリーのほか、親子のあるカスタムタクソノミー(分類)も並べられます。タグのように親子のない分類は並べられません。
使い方
- プラグインを入れて有効にする。
- 管理画面の「投稿」の中に出る「Taxonomy Order」を開く。
- カテゴリーをドラッグ&ドロップで並べ替えて、「Update」を押す。
並べた順をサイトに出す
設定 → Taxonomy Terms Order の「Autosort」をオンにすると、サイトのカテゴリーの一覧(ウィジェットなど)に、並べた順が自動で使われます。コードを書かなくても、たいていはこれで足ります。
テーマやウィジェットが独自の並び(名前の順など)を指定していて順番が変わらないときや、Autosort をオフにして決まった所だけ並べたいときは、コードで orderby に term_order を指定します。
// カテゴリーを、管理画面で並べた順に取る
$terms = get_terms(
array(
'taxonomy' => 'category',
'orderby' => 'term_order', // プラグインで並べた順
'order' => 'ASC',
'hide_empty' => false,
)
);
foreach ( $terms as $term ) {
echo '<a href="' . esc_url( get_term_link( $term ) ) . '">' . esc_html( $term->name ) . '</a>';
}
// カテゴリーの一覧(リンク)を、並べた順に出す
wp_list_categories(
array(
'orderby' => 'term_order',
'title_li' => '',
)
);
プラグインは止めない
並べた順は、データベースのカテゴリーの表に、プラグインが足した列(term_order)として保存されます。WordPress 本体は、この列での並び替えに対応していません(get_terms で orderby に term_order を指定しても、本体だけでは ID の順として扱われます)。
- 上のコードで並べた順に出すのも、プラグインが有効なあいだだけです。
- プラグインを止めると、並びは元に戻ります(並べた順は列に残るので、もう一度有効にすれば戻ります)。
確かめた結果
作業環境(WordPress 7.1)で、カテゴリーを get_terms で取って比べました。orderby に term_order を指定したときと、何も指定しないとき(Autosort が効いている状態)は、どちらも管理画面で並べた順になりました。名前の順を指定すると、名前の順になりました。
このサイトでは、同じように並び順を変えられる「Custom Taxonomy Order」というプラグインを使っています。どちらも同じ列(term_order)に順番を保存します。


