WordPress カスタム投稿のターム名の取得と表示
WordPressで投稿に紐づく「カスタムタクソノミー」のターム(カテゴリーやタグのようなもの)を取得して、その名前を表示する方法。
カスタムタクソノミー:terms-kind
<?php
// タームの取得
$terms = get_the_terms($post->ID, 'terms-kind');
// タームが存在し、配列である場合のみ処理する
if ($terms && !is_wp_error($terms)) {
foreach ($terms as $term) {
echo esc_html($term->name) . '<br>';
}
}
?>
esc_html()を使って、ターム名にHTMLが含まれていても安全に出力します。<br>を加えることで、複数のターム名が改行されて見やすくなります。
複数のターム名を <span> タグで区切って表示したい場合
<?php
$terms = get_the_terms($post->ID, 'terms-kind');
if ($terms && !is_wp_error($terms)) {
$term_names = array();
foreach ($terms as $term) {
// 各ターム名を span タグで囲む
$term_names[] = '<span>' . esc_html($term->name) . '</span>';
}
// span タグ同士を区切って出力(スペースで区切る例)
echo implode(' ', $term_names);
}
?>
カンマ区切りにしたい場合
echo implode(', ', $term_names);
|(縦棒)で区切りたい場合
echo implode(' | ', $term_names);
<span class="クラス名"> にして、CSS で装飾したい場合
$term_names[] = '<span class="term-name">' . esc_html($term->name) . '</span>';
カスタム投稿の作成方法についてはこちら
WP_Queryを使って最近記事の一覧を表示する方法はこちら
