WordPressのカスタム投稿タイプを使用している場合、投稿にカテゴリー(またはタクソノミー)を設定することがよくあります。この記事では、カスタム投稿タイプに関連付けられたカテゴリーを取得する方法を紹介します。
カスタム投稿カテゴリー取得
以下のコードを使用して、カスタム投稿タイプに関連付けられたすべてのカテゴリーを取得し、表示することができます。
PHP
<?php echo get_the_term_list( $post->ID, 'cat-topics' ); ?>
このコードは、$post->ID
に関連するカテゴリー(タクソノミー)を取得し、リストとして表示します。'cat-topics'
は、カスタムタクソノミーのスラッグです。
カスタム投稿カテゴリー取得(最初の一つだけ)
特定のカスタム投稿タイプに関連するカテゴリーのうち、最初の一つだけを取得して表示したい場合は、以下のコードを使用します。
PHP
<?php
$terms = get_the_terms($post->ID, 'cat-topics');
echo esc_html($terms[0]->name);
?>
このコードは、$post->ID
に関連するカテゴリーを配列として取得し、そのうち最初のカテゴリー名を表示します。
カスタム投稿カテゴリー取得(最初の一つだけ)リンクあり
カテゴリー名をリンク付きで表示したい場合は、以下のコードを使用します。
PHP
<?php
$terms = get_the_terms($post->ID, 'cat-topics');
echo '<a class="label" href="/' . esc_html($terms[0]->taxonomy) . '/' . esc_html($terms[0]->slug) . '">' . esc_html($terms[0]->name) . '</a>';
?>
このコードは、カテゴリー名にリンクを追加し、クリックするとそのカテゴリーアーカイブページに遷移します。
まとめ
WordPressのカスタム投稿タイプにおいて、カテゴリーを取得する方法はいくつかあります。全てのカテゴリーを表示する方法から、最初の一つだけを表示する方法、さらにはリンク付きで表示する方法まで、目的に応じて適切な方法を選択してください。