WordPressで記事の子カテゴリーだけ取得したい場合のメモ

WordPressのテーマをカスタマイズしていて、子カテゴリーだけを取得したい事がたまにあるのでメモとして残しておこうかと思います。

例えば「日記」ってカテゴリーの子として「旅行」「ご飯」といったカテゴリーを作って、「日記」一覧のページに「日記」は省いて「旅行」「ご飯」といったカテゴリーを表示したい場合に使います。

まあ、子カテゴリーじゃなくてタグにすれば良いと言われればそうなんですがカテゴリー管理にしたいこともあるので…。

親カテゴリーで絞り込む

やり方はシンプルで、記事のカテゴリーをget_the_categoryで全取得した後に、取得した配列に対して親カテゴリーのIDをキーに抽出するだけです。

// 子カテゴリーのタグを出力
$thisCatlist = get_the_category(); //記事に紐づくカテゴリー全取得
foreach($thisCatlist as $thisCat){
  // 親カテゴリーのIDを指定して判定
  if ($thisCat -> category_parent == 指定したい親カテゴリーID) {
    echo $thisCat -> cat_name;
  }
}

他にもやり方はあるかと思いますし、親カテゴリーIDが複数だったり決まってなかったりした場合には書き方変えなきゃですが、自分でよく使うのこれなのでメモということで…。