WordPressのカテゴリーやタグは、コンテンツの整理や検索性を向上させるために重要です。しかし、デフォルトの表示方法では、カンマやスペースなどの区切り文字がなく、見栄えがあまりよくありません。そこで、この記事では、カテゴリーやタグの一覧を指定した区切り文字を入れて表示する方法を紹介します。
カテゴリーの一覧を表示する方法
WordPressでは、get_the_category_list() 関数を使用して、投稿に関連付けられたカテゴリーの一覧を取得できます。以下は、その方法です。
<?php
$categories = get_the_category();
if ( ! empty( $categories ) ) {
$separator = ', '; // 区切り文字を指定
$output = '';
foreach( $categories as $category ) {
$output .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
}
echo rtrim( $output, $separator ); // 最後の区切り文字を削除して表示
}
?>
タグの一覧を表示する方法
タグの一覧を表示する方法も同様です。以下は、get_the_tag_list() 関数を使用した例です。
<?php
$tags = get_the_tags();
if ( ! empty( $tags ) ) {
$separator = ', '; // 区切り文字を指定
$output = '';
foreach( $tags as $tag ) {
$output .= '<a href="' . esc_url( get_tag_link( $tag->term_id ) ) . '">' . esc_html( $tag->name ) . '</a>' . $separator;
}
echo rtrim( $output, $separator ); // 最後の区切り文字を削除して表示
}
?>
よくある質問(FAQ)
Q. カテゴリーを区切り文字でつないで表示するget_the_category_list()の使い方は?
A. get_the_category_list($separator)で指定した区切り文字でカテゴリーリンクをつないだHTML文字列を取得できます。echo get_the_category_list(‘、’)のように使います。
Q. タグも同様に区切り文字でつないで表示するには?
A. get_the_tag_list($before, $separator, $after)を使います。第1引数に開始文字列、第2引数に区切り文字、第3引数に終了文字列を指定します。タグがない場合は空文字またはfalseを返します。
Q. カテゴリーとタグを合わせてリンク表示する汎用的な方法は?
A. get_the_terms($post_id, ‘category’)とget_the_terms($post_id, ‘post_tag’)でそれぞれ取得し、array_mergeでまとめてforeachで表示する方法があります。カスタムタクソノミーも同様に対応できます。
まとめ
これらのコードを使えば、カテゴリーやタグの一覧を見やすく区切り文字を含めて表示できます。是非試してみてください!
