カテゴリーの並べ替えプラグイン for WordPress

2008年7月1日

WordPress 2.5以降をお使いの方は、こちらのバージョンをご利用ください。

WordPressには、標準ではカテゴリーを並べ替える機能がありません。
カテゴリーの管理や並べ替えを行える「Category Manager」というプラグインもあるそうですが、環境によっては動作しないといったこともあるそうです。

当サイトでは、Movable Type用のカテゴリーの並べ替えプラグインをご提供していますが、それと同じような仕組みで、WordPressで動作するものを作ってみました。
カテゴリー名の先頭に連番を振って、カテゴリー名を表示する時点でその連番をカットするものです。

1.インストール

カテゴリーの並べ替えプラグイン for WordPressは、以下のアドレスからダウンロードすることができます。

CutFirstChar_1_01.zip

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、Movable Type Plugin Directoryのページをご参照ください。

Movable Typeのプラグイン開発等のドキュメント「Movable Type Developer's Guide Volume 1」も販売しています。
ご自分でプラグインを作ってみたい方に、ぜひお勧めしたい一冊です。
詳細は特設ページをご覧ください。

ダウンロードしたファイルを解凍すると、「cutfirstchar.php」というファイルができます。
このファイルをメモ帳等で開くと、11行目に以下のような行があります。

define('CFC_LENGTH', 6);

この行の「6」が、カテゴリー名の先頭から切り取る文字数を表します。
後でカテゴリーに連番を振りますが、その桁数に合わせて、この「6」を書き換えます。
例えば、連番を3桁で振るなら、この行を以下のように書き換えます。

define('CFC_LENGTH', 3);

ファイルの書き換えが終わったら、WordPressの「wp-content」→「plugins」ディレクトリに、cutfirstchar.phpファイルをアップロードします。
そして、WordPressにログインして、プラグインのページで、このプラグインを有効化します。

なお、前述したCategory Managerプラグインを有効にしていると、カテゴリーの一覧表示が正しく行われなくなりました。
Category Managerプラグインは無効にしておいてください。

2.カテゴリーに連番を振る

次に、カテゴリー名の先頭に半角数字で連番を振って、カテゴリーを並べる順序を決めます。

例えば、「東京」「大阪」「名古屋」というカテゴリーを作り、この順序で並べたいとします。
この場合だと、「010東京」「020大阪」「030名古屋」のように、カテゴリー名の先頭に連番を振ります。

その際、連番の桁数は統一しておく必要があります。
上のように3桁で連番を降る場合、100の位が0であれば、「010」のように連番を振ります。

カテゴリーを階層化する場合は、それぞれの階層で連番を振るようにします。
例えば、以下のようにカテゴリーを階層化したいとします。

  • 東京
    • 新宿
    • 渋谷
    • 池袋
  • 大阪
    • 梅田
    • 難波
    • 天王寺

この場合、1階層目の「東京」「大阪」と、2階層目の「新宿」等のそれぞれに連番を振り、以下のようにすると良いでしょう。

  • 010000東京
    • 010010新宿
    • 010020渋谷
    • 010030池袋
  • 020000大阪
    • 020010梅田
    • 020020難波
    • 020030天王寺

↓カテゴリーに連番を振った例
カテゴリーに連番を振った例

3.テーマの書き換え

次に、テーマの各ファイルの中で、以下のようにテンプレートタグを書き換えます。

書き換え前のテンプレートタグ書き換え後のテンプレートタグ
the_categorythe_category_cfc
get_the_category_listget_the_category_list_cfc
single_cat_titlesingle_cat_title_cfc
wp_titlewp_title_cfc
wp_list_categorieswp_list_categories_cfc
wp_dropdown_categorieswp_dropdown_categories_cfc

タグの名前を変えるだけで、それ以外の部分は変更しません。
例えば、テーマのファイルの中に、以下のようなthe_categoryタグがあるとします。

<?php the_category(', ') ?>

この場合だと、以下のように書き換えます。

<?php the_category_cfc(', ') ?>

なお、上記以外のカテゴリー関連のタグでは、現状ではカテゴリー名の連番を切り取る処理は行っていません(例:list_catsタグやdropdown_catsタグ)。
WordPressのソースコードを見ると、list_catsタグやdropdown_catsの処理は「deprecated.php」というファイルの中にあり、これらのタグは廃止が予定されているものと思われます。

4.表示の確認

ここまでで、このプラグインの導入作業は終わりです。
Blogの各ページを表示してみて、カテゴリーが正しく表示されていることを確認します。