暇人の英語雑記ブログ

WordPress の get_the_category で親、子、孫の階層表示をする関数を作成!

2019.04.052018.08.16WordPress
sitemap-image

WordPress の投稿のカテゴリーを表示するには get_the_category() が多用されますが、この関数は階層取得ができません。

カテゴリーを親、子、孫といった方法で設定が可能なのに、そのような並びで表示できないのは大問題ですね。

categories-simple-hierarchy

ちなみに以上のような単純な階層構造なら以下のコードで事足ります。おそらく。たぶん。知らん(投げやり)。

以上が正しく動作するかどうかは、自身でテストしてください。何となくの思い付きで書いたものなので。。

categories-hierarchy-example

私が解決したいのは、このような階層を保持したカテゴリーが複数設定されている場合の対応です。

categories-hierarchy-result

これを以上のような順番で表示したいのです。

補足
このような無茶苦茶なカテゴリーの設定はするべきではありません。

あくまでも例です。

ちなみに私が開発した WordPress無料テーマ「SCRATCH」で実際に使用しているコードです。

以下のように使用してください。

Category Order and Taxonomy Terms Order というカテゴリーの順序を変更する有名なプラグインがありますが、以上のコードで不具合などは発生しないのでご安心ください。

ちなみに以下のツイートは、このファンクションを記述した直後に投稿したものです。

本当に勘弁してほしいですね。このようなコードは WordPressコアのほうで実装するべきだと思います。

そうすれば、このようなものも書かなくて済みます。

これよりシンプルで美しい方法を知っている方は、コメント欄で教えてください。

author