「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
カテゴリーの並べ替えプラグイン for WordPress
2008年7月1日
WordPress 2.5以降をお使いの方は、こちらのバージョンをご利用ください。
WordPressには、標準ではカテゴリーを並べ替える機能がありません。
カテゴリーの管理や並べ替えを行える「Category Manager」というプラグインもあるそうですが、環境によっては動作しないといったこともあるそうです。
当サイトでは、Movable Type用のカテゴリーの並べ替えプラグインをご提供していますが、それと同じような仕組みで、WordPressで動作するものを作ってみました。
カテゴリー名の先頭に連番を振って、カテゴリー名を表示する時点でその連番をカットするものです。
1.インストール
カテゴリーの並べ替えプラグイン for WordPressは、以下のアドレスからダウンロードすることができます。
プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。
また、このプラグインの他にも、いくつかのプラグインを配布しています。
配布中のプラグインは、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_category | the_category_cfc |
get_the_category_list | get_the_category_list_cfc |
single_cat_title | single_cat_title_cfc |
wp_title | wp_title_cfc |
wp_list_categories | wp_list_categories_cfc |
wp_dropdown_categories | wp_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の各ページを表示してみて、カテゴリーが正しく表示されていることを確認します。