CATEGORY

Wordpress

Wordpress】get_categories で適当カテゴリリストの作成

1,285 PV

BLOG を細かく更新してみよう!と思い立ったので、とりあえずカテゴリ構成をサブカテゴリ持ちに再構成しました。そのタイミングで作った、メインナビゲーションにサブカテゴリリスト的な表示を追加する方法をご紹介。

と言っても、子カテゴリまでしか考えてませんがw

//$categories という変数に 'pad_counts' => true で子カテゴリにしか記事がない親カテゴリを含めたカテゴリの一覧を取り込む
$categories = get_categories( array('pad_counts' => true) );

//$categories 内の配列を展開
foreach($categories as $category){

  //記事を持っていて、親カテゴリが0のカテゴリ(TOPレベルカテゴリ)のみを出力
  if(!empty($category->count) && $category->parent == 0){

    //$cat_list という変数に、表示させたいソースを追記していく
    $cat_list .= '<li><a href="'.get_category_link($category->term_id).'">'.$category->cat_name.' ('.$category->count.')'.'</a></li>';

    //$subcategories という変数に、現在展開中のカテゴリIDを親カテゴリに持ったカテゴリの一覧を取り込む
    $subcategories = get_categories( array('child_of' => $category->term_id) );

    //$subcategories 内の配列を展開
    foreach($subcategories as $subcategory){

      //$cat_list 変数に、サブカテゴリとして表示させたいソースを追記していく
      $cat_list .= '<li><a href="'.get_category_link($subcategory->term_id).'"> + '.$subcategory->cat_name.' ('.$subcategory->count.')'.'</a></li>';
    }
  }
}

コメントで、簡単にやっていることを解説しています。
吐き出させたいソースにも寄りますが、僕はこの程度で十分満足♪

<li> をちゃんと構造化させたいとかの理由があれば、もちっと条件分岐を増やしてソースの書き出し方を考えてあげる必要はありますが、このくらいでもそこそこ実用に耐えるんじゃないかと。

よし、今後はこれくらいの記事をちょこちょこ上げていくよいうにしよー!
Riot のこととか書こうとすると、なんか時間かかりすぎるので。。。

CATEGORY : Wordpress

GO TOP