2008 年 11 月 12 日 のアーカイブ

カテゴリの並び順を変える(コーディング編)

2008 年 11 月 12 日 水曜日

前回、プラグインでカテゴリの並び順を変える方法を調べましたが、今回はプラグインを使わず、自力でカテゴリの並び順を変える方法を模索してみました。

まずはGoogleで見つけたものから。

http://www.marushima.info/?p=54

wp_categoriesにソート用のカラムを追加してしまうというやり方。かなり強引ですが、こういうのもアリですね。
でもwp_categoriesって古いバージョンのwpのものなので、現行バージョンでは使えないです。

次はtheme内でゴリゴリコーディングするやり方。
以下は、自分で実際に試したものです。


$cat_order = array(3,2,1,5,7); //←並べたい順番でカテゴリIDを指定
foreach($cat_order as $cat_id)
{
$cat_v = get_category($cat_id,"ARRAY_A");
echo '<li><a href="/contents/category/'.$cat_v["slug"].'">'.$cat_v["name"].'</a>('.$cat_v["category_count"].')</li>';
}

$cat_orderでカテゴリの並び順を指定しています。このコードだと1階層しか対応していませんが、頑張れば2階層でもいけると思います。

また、記事数のカウントがなくてもいいなら直接HTMLを書いてしまうのも手ですね。
カテゴリが頻繁に増えたり減ったりするサイトでなければ、こういったやり方でも問題ないと思います。

技術にとらわれず、サイト運営の目的や状況に応じて臨機応変に対応していくのが賢いやり方だと思います。