WordPressでプラグインを使わずカテゴリのdescriptionの値をつかってカテゴリの順番の表示を変える方法

サイドバーにサブナビゲーションをつかって、カテゴリを表示させることがあるとおもうのですが、サブナビゲーションの表示について、既存プラグインでは通用せず、カスタマイズせねばならないときにそのカテゴリーの順番を自分で変える方法です。

下記のtypistaさんの回答を参考にしました。

PHPの連想記憶配列(2次元)のソート方法はありませんか? list[0.. – 人力検索はてな

ちなみに下記は、blogというカテゴリの子カテゴリを取得しています。

/* サブカテゴリー取得 */
		$sub_categories = get_subcategories('blog');

		/* サブカテゴリをdescriptionの値でソートする */
		
		/* カテゴリのdescriptionの値を配列で取得する */		
		foreach ($sub_categories as $key => $row) {
			$sort_key[$key] = $row['description'];
		}
		
		/* サブカテゴリをdescriptionの値でソートする */
		array_multisort( $sort_key, SORT_ASC, $sub_categories );

これで、$sub_categoriesはdesctiptionの値でソートされます。

descriptionは、WordPressの管理画面の投稿から、カテゴリーで編集できます。

追記

今、気づいたのですが、get_categories()は標準のタグじゃなくて、下記の楽しけりゃ何でもいいやさんの記事で知った関数でした。こちらに、カテゴリの順番変更の方法もかいてありましたねー

サブカテゴリ(小カテゴリ)の一覧を取得[Wordpress]|楽しけりゃ何でもいいや

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク