管理画面のカスタム投稿タイプの記事一覧ページで、カテゴリ(カスタムタクソノミ―)による絞り込みを行う。
元はこちら。
管理画面でカスタムタクソノミーを使って絞り込みが出来るようにする
大変役立ったのだけど、階層化されたタクソノミーの親子関係を維持して表示したかった。
自分で少し変えてみた。
ただし、作成した際に二階層目までしか必要なかったので、三階層目以降には未対応。
function add_post_taxonomy_restrict_filter() { global $post_type; if ( '作成したカスタム投稿タイプ' == $post_type ) { echo '<select name="作成したカスタムタクソノミ―">'; echo '<option value="">カテゴリー指定なし</option>'; $terms = get_terms('作成したカスタムタクソノミ―', 'hide_empty=0'); foreach ($terms as $term) : if ($term->parent == 0): echo '<option value="' . $term->slug . '">' . $term->name . '</option>'; $parentID = $term->term_id; $children = get_term_children( $parentID , '作成したカスタムタクソノミ―' ); if(!empty($children)): foreach($children as $childID): $child=get_term_by('id', $childID, '作成したカスタムタクソノミ―'); echo '<option value="' . $child->slug . '"> ' . $child->name . '</option>'; endforeach; endif; endif; endforeach; echo '</select>'; } } add_action( 'restrict_manage_posts', 'add_post_taxonomy_restrict_filter' );