【小技】WordPressで指定したカテゴリーに紐づく子孫カテゴリーを取得する方法

2015年5月9日

ショートコードやテンプレートタグなどで
引数にカテゴリー ID を渡すことがあるかと思います。
その際に指定したカテゴリーに紐づく子孫カテゴリーを指定した時あるかと思います。

そんな時に便利な関数があります。
「get_term_children」です。

説明

get_term_children( int $term_id, string $taxonomy )

$term_id:
タクソノミー ID を指定します。

$taxonomy:
タクソノミー名 'category’ を指定します。

返り値:
子孫タクソノミーの ID が格納された配列を返します。
子タクソノミーがない場合は空の配列を返し、
パラメータ $taxonomy で指定された名前が無効の場合はエラー内容が格納された WP_Error のオブジェクトが返ってきます。

使い方(例)

WordPress テーマ内等の PHP ファイルで使用できます。
※投稿エディタ内では使えません。

テーマ内の独自関数などでは「<?php ?>」は不要です。

<?php $categories = get_term_children( 3, 'category' ); ?>

補足情報

この関数は、配列として返してくれます。
なので、引数として渡す際には、 配列要素を文字列として渡す必要があります。

implode 関数を利用すると配列要素を指定した文字列で連結した文字列を作れます。