2011年10月24日月曜日

サブカテゴリ(小カテゴリ)の一覧を取得[Wordpress]

サブカテゴリの一覧が必要になったので、ちょっと関数を作ってみました。
親カテゴリの情報をカテゴリスラッグから取得するので、get_category_by_slugを使ってます。

function get_subcategories($slug) {
    $cat = get_category_by_slug($slug);
    $lists = get_terms("category", "child_of={$cat->term_id}");
    foreach ($lists as $list) {
        $cats[] = array (
            'slug' => $list->slug,
            'slug_name' => $list->name,
            'description' => $list->description,
            'count' => $list->count
        );
 }
 return $cats;
}

カテゴリの取得順序はプラグインのMy Category Order辺りを利用して、get_termsの箇所を以下のようにすればOKだと思います。

$lists = get_terms("category", "child_of={$cat->term_id}&orderby=order&order=ASC");


get_terms関数を知るまでは、wp_list_categoriesを使って、正規表現で抜き出したコードを書いてました(^^;
でもそれだとdescriptionが取得できないんですよね。
もうちょっと関数知らないと思わぬ無駄な処理をしてしまうことになりそうです。

0 件のコメント:

コメントを投稿