ワードプレスでカテゴリを複数選択して投稿した際に、任意の指定した親カテゴリの子カテゴリのみの表示方法をメモしておきます。
親カテゴリがそれぞれ違う、子カテゴリを複数選択した際に、選択した全てのカテゴリが表示される問題を解決する方法。
記事に表示する子カテゴリの親カテゴリの指定をしたいと思ったのです。
カテゴリを複数選択すると、通常のカテゴリ名取得コードだと出力時に選択した全てが表示されます。
例えば次のように、
親カテゴリがそれぞれ違う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になっています。
これで、親カテゴリが「色」の子カテゴリ「赤色」が出力されます。
数字を変更すれば、指定したい好きな親カテゴリに変更できます。
cat_is_ancestor_of()という関数があったんですね!
このブログを読んで助かりました!
ありがとうございます!
TAKAHIRO さん
お役に立ちましたようでよかったです!
コメントありがとうございました!