[WordPress]カテゴリを複数選択して投稿した際に、任意の指定したカテゴリ名のみを表示

ワードプレスでカテゴリを複数選択して投稿した際に、任意の指定した親カテゴリの子カテゴリのみの表示方法をメモしておきます。


親カテゴリがそれぞれ違う、子カテゴリを複数選択した際に、選択した全てのカテゴリが表示される問題を解決する方法。
記事に表示する子カテゴリの親カテゴリの指定をしたいと思ったのです。

カテゴリを複数選択すると、通常のカテゴリ名取得コードだと出力時に選択した全てが表示されます。

例えば次のように、
親カテゴリがそれぞれ違う3つの子カテゴリ「赤色」「りんご」「ブログ」全てにチェックを入れて投稿すると、出力時に選択した全てが表示されます。

そうではなくて、表示するのは任意の指定した親カテゴリの子カテゴリのみにしたい時はありませんか?

記述は以下のように。
指定する親カテゴリが「色」というカテゴリでカテゴリidが7の場合。

<?php
  if(have_posts()) :
    while(have_posts()) :
      the_post();
      $categories = get_the_category();
      foreach($categories as $category) :
        if(cat_is_ancestor_of(7, $category))
          echo $category->cat_name . ' ';
      endforeach;
    endwhile;
  endif;
?>

数字 7 が親カテゴリのIDになっています。
これで、親カテゴリが「色」の子カテゴリ「赤色」が出力されます。
数字を変更すれば、指定したい好きな親カテゴリに変更できます。

“[WordPress]カテゴリを複数選択して投稿した際に、任意の指定したカテゴリ名のみを表示” への4件の返信

  1. cat_is_ancestor_of()という関数があったんですね!
    このブログを読んで助かりました!
    ありがとうございます!

    1. TAKAHIRO さん
      お役に立ちましたようでよかったです!
      コメントありがとうございました!

コメントは受け付けていません。