親カテゴリの情報をカテゴリスラッグから取得するので、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 件のコメント:
コメントを投稿