WordPressのカテゴリーアーカイブで特定のカテゴリーの子孫カテゴリーかを判定する方法

  • 更新日:
  • 公開日:

特定のカテゴリーの子孫カテゴリーかを判定する関数を作ったのでメモ。本当はWordPressをECサイトにするWelcartで使うため用意したんですけど、「あれ、WordPressそのものでも使えるじゃん」ということで。

条件分岐とかにどうぞ。カスタム分類でも使えます。

子孫カテゴリーかを判定する関数

以下のソースコードをfunctions.phpに貼り付けて使います。

引数に親カテゴリーのスラッグを指定して、カテゴリーアーカイブで以下のように関数を呼び出します。

これで特定のカテゴリーの子、孫、曾孫…、のカテゴリーかどうかを判定して条件分岐の処理が出来ます。

ture、falseが返される条件

引数に指定した親カテゴリーのアーカイブか、そのカテゴリーの子孫カテゴリーアーカイブだった場合に「true」が返されます。

それ以外のカテゴリーや、アーカイブ(カテゴリー、もしくは階層持ちのカスタム分類)ではないページ、引数にスラッグを入れ忘れた場合に「false」が返されます。


ソースコードの一部はこちらの記事を参考にしています。

参考記事: もう迷わない!アーカイブページで現在のカテゴリ・タグの情報を簡単に取得する方法【WordPress】 | blog.ks-product.com

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone