種類が多くて混乱するタクソノミー系の関数をまとめてみた。

カスタム投稿タイプと同じく、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>');
  • ブックマーク
  • Feedly

この記事を書いた人

キタジマタカシ

長崎在住、フリーランスのWordPress テーマ / プラグインデベロッパー。 多数のプロダクトをオープンソースで開発・公開しています。現在は WordPress 有料テーマ Snow Monkey を開発・販売しています。