WordPressで親カテゴリーに属する子カテゴリーの一覧を出力

スポンサーリンク
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました

WordPress で親カテゴリーに属する、子カテゴリーの一覧リンクを出力する方法です。以下のように、WordPress のカテゴリー構造が親子の関係になっているケース。そして、記事は子カテゴリー4〜12に属しているものとします。

スポンサーリンク

記事ページ(single.php)で親カテゴリーに属する子カテゴリーの一覧を出力

例えば、とある記事Aが子カテゴリー6に属しているとします。その記事ページでは、子カテゴリー6の親である親カテゴリー1に属する、子カテゴリー4,5,6のみのカテゴリーの一覧を出力したい場合です。簡単に言うと、記事Aのページでは、以下のカテゴリ情報の一覧リンクのみを出力したいとします。

子カテゴリー4
子カテゴリー5
子カテゴリー6

子カテゴリー7〜12は表示させないようにする。この場合は、以下の PHP コードで実現できます。

このコードで、記事Aのページでは、子カテゴリー4〜6のみのリンク一覧が表示されます。wp_list_categories() の引数で指定するパラメータに、child_of を指定しするのが重要なポイントです。child_of で指定したカテゴリーIDの、子カテゴリーの一覧が出力されます。それぞれのパラメータの意味は以下。

child_of=
この child_of= のパラメータを指定するのがポイントで、これで指定したカテゴリー ID の子カテゴリーのみ表示します。

title_li=
箇条書きの外側に表示するタイトルと表示形式を指定する。

show_count=1
各カテゴリーに投稿数を表示するかどうか。1 を指定すると投稿数を表示する。

注意点としては、$cat = $cats[0]; で記事が属するカテゴリーの最初のカテゴリーを取得していますので、その親カテゴリーに属する子カテゴリーの一覧リンクを出力します。記事が複数の子カテゴリーに属する場合は、注意が必要です。複数の子カテゴリー全てに対応するには、もう一歩コードの修正が必要となります。

カテゴリーページ(category.php)で親カテゴリーに属する子カテゴリーの一覧を出力

同様に、カテゴリーページで共通の親カテゴリーに属する子カテゴリーの一覧を出力する場合。例えば、子カテゴリー4のカテゴリーページで、共通の親である親カテゴリー1に属する、子カテゴリー4,5,6を出力したいケースです。

このコードで、子カテゴリー4のページでは、以下のように子カテゴリーのリンクのみが表示される。

子カテゴリー4
子カテゴリー5
子カテゴリー6

記事ページやカテゴリーページごとに、表示させたいカテゴリー情報のリンク一覧を変更したい場合に使える WordPress テクニックでした。使っている WordPress の API 関数の詳細は、参考リンクからお願いします。

スポンサーリンク
WordPress は人気ナンバーワンのブログ・ウェブサイトの管理ツールです。PHP を使えればカスタマイズできるので、ぜひトライされてみてください。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!