カスタム投稿タイプと同じく、WordPressでブログ以外のサイトを作る場合によく使うカスタムタクソノミー。しかし、似たような関数が多く、毎回Codexを見たり記事を探してみたりしてしまうので、個人的に多用する関数を抜粋してまとめてみました。
get_the_terms
投稿に紐づく任意のタクソノミーを取得する関数。
$terms = get_the_terms( $post->ID, 'タクソノミー名' ); $terms = get_the_terms( $post->ID, array( 'タクソノミー名1', 'タクソノミー名2' ) );
get_taxonomy
タクソノミーの情報を取得する関数。タクソノミー名を表示したいとき等に便利です。
$taxonomy = get_taxonomy( 'タクソノミー名' ); echo esc_html( $taxonomy->singular_label );
get_terms
任意のタクソノミーに設定されたタームを取得する関数。第2引数でどのようなタームを取得するか設定が可能です。カテゴリーの一覧を任意のHTML構造で出力したいときに便利です。
<?php $terms = get_terms( 'タクソノミー名', array( オプション ) ); ?> <ul> <?php foreach ( $terms as $term ) : ?> <li><?php echo esc_html( $term->name ); ?></li> <?php endforeach; ?> </ul>
get_the_term_list
任意の投稿の、任意のタクソノミーに設定されたタームへのリンクをカンマ区切りで出力する関数。引数を変更することでカンマ区切り以外にもできます。
// get_the_term_list( $post->ID, 'タクソノミー名', 'リストの最初に表示する文字列', '区切り文字', 'リストの最後に表示する文字'); echo get_the_term_list( $post->ID, 'タクソノミー名', '', '、', ''); echo get_the_term_list( $post->ID, 'タクソノミー名', '<li>', '</li><li>', '</li>');