あるカテゴリーの子カテゴリー・孫カテゴリーなど子孫カテゴリーのIDをまとめて取得する方法のメモです。
子孫カテゴリーのIDをget_term_childrenでまとめて取得する
階層のあるタクソノミーの子・孫タームのIDをまとめて取得するget_term_children
という関数があります。
この関数を使って子孫カテゴリーのIDをまとめて取得してみましょう。
<?php
// 例: IDが6のカテゴリーの子孫カテゴリーを取得する.
$cat_id_list = get_term_children( 6, 'category' );
if ( ! is_wp_error( $cat_id_list ) && ! empty( $cat_id_list ) ) {
// なにか処理する.
}
get_term_children
の第1引数に親になるカテゴリーのIDを指定、第2引数にcategory
を指定します。
返り値は子孫カテゴリーIDの配列か、タクソノミーがなければWP_Errorになるので、適宜チェックしてからなにか処理しましょう。
実際は直接カテゴリーを書き込むのではなく、get_the_category
などで投稿に付いているカテゴリーを取得してからget_term_children
を使うことになるでしょう…
…ということで、時々しか使わないだろう関数なので技術メモ的に記事にしておきました。
リファレンスはこちら▼
Merges all term children into a single array of their IDs.
developer.wordpress.org
ではまた。