MENU

term_description()

term_description() は、カテゴリーやタグなどのタクソノミー用語(term)に関連付けられた説明を取得するテンプレートタグです。この説明は通常、アーカイブページや一覧ページで表示され、用語の内容を説明するために使われます。

目次

機能の説明

term_description() は、指定されたタクソノミー用語(例:カテゴリー、タグ、カスタムタクソノミー)の説明文を取得するために使用します。
このタグを使うことで、ユーザーにとってその用語がどのような内容かを分かりやすく表示できます。

シンプルなコード例

<?php echo term_description(); ?>

このコードは、現在のタクソノミーアーカイブの説明を表示します。

使い方の解説

  • term_description() は、特定のタクソノミーの説明文を取得します。
  • 何も引数を指定しない場合、現在表示されているアーカイブに関連する説明文を表示します。
  • カテゴリーやタグの説明は、WordPress管理画面から編集できます。
<?php
// カテゴリーアーカイブで説明を表示
if ( is_category() ) {
    echo '<div class="category-description">' . term_description() . '</div>';
}
?>
  • is_category(): 現在のページがカテゴリーアーカイブかどうかをチェックします。
  • 説明文がある場合、<div> タグの中に説明文を挿入します。

一緒に使うことが多い関連タグ

get_term()

get_term() は、指定した用語のすべての情報を取得するための関数です。

<?php
$term = get_term( 5, 'category' ); // IDが5のカテゴリーを取得
echo 'カテゴリー名: ' . esc_html( $term->name );
echo '<br>説明: ' . esc_html( $term->description );
?>
  • get_term(): 用語の詳細情報を取得し、オブジェクトとして返します。
  • $term->name: 用語の名前を表示します。
  • $term->description: 用語に関連する説明を表示します。

category_description()

category_description() は、特定のカテゴリーに関連する説明を取得します。

<?php
echo category_description( 5 ); // IDが5のカテゴリーの説明を表示
?>

category_description(): 指定したカテゴリーIDの説明文を取得して表示します。

the_archive_description()

the_archive_description() は、アーカイブページでタクソノミーや投稿タイプの説明を表示するためのテンプレートタグです。

<?php the_archive_description(); ?>

現在のアーカイブに関連する説明文を出力します。

追加情報を取得したい場合

term_description() に加えて、get_term() を使うことで、用語に関連するさまざまな情報を取得できます。

get_term()で取得できる情報

<?php
$term = get_term( 3, 'post_tag' ); // タグIDが3のタグを取得
echo 'タグ名: ' . esc_html( $term->name );
echo '<br>スラッグ: ' . esc_html( $term->slug );
echo '<br>説明: ' . esc_html( $term->description );
?>

出力できる情報

  • name:用語の名前
  • slug:用語のスラッグ(URLフレンドリーな名前)
  • description:用語の説明
  • count:用語が使われている投稿の数

想定されるトラブル

説明文が表示されない

管理画面で説明文が入力されていない可能性があります。

解決方法

管理画面の「投稿」 > 「カテゴリー」または「タグ」の編集画面で説明文を追加します。

タクソノミーが正しく取得されない

カスタムタクソノミーを使用する場合、適切な名前で指定されていない可能性があります。

解決方法

正しいタクソノミー名を確認し、term_description() の第2引数で明示的に指定します。

<?php echo term_description( 2, 'custom_taxonomy' ); ?>

HTMLがそのまま出力される

エスケープ処理が不足していると、HTMLタグがそのまま表示されることがあります。

解決方法


次のようにエスケープ処理を追加します。

<?php echo wp_kses_post( term_description() ); ?>

Q&A

term_description() でカスタムタクソノミーの説明を表示できますか?

はい、カスタムタクソノミーの説明を表示するには、次のように指定します。

<?php echo term_description( 10, 'custom_taxonomy' ); ?>

複数のタクソノミーの説明を一度に表示できますか?

複数のタクソノミーの説明を個別に取得し、それぞれ出力する必要があります。

<?php
$terms = get_terms( array( 'taxonomy' => 'category', 'hide_empty' => false ) );
foreach ( $terms as $term ) {
    echo '<h3>' . esc_html( $term->name ) . '</h3>';
    echo '<p>' . esc_html( $term->description ) . '</p>';
}
?>

説明文にリンクを追加したい場合は?

管理画面でHTMLを使用して説明文にリンクを追加できます。

まとめ

term_description() は、カテゴリーやタグなどのタクソノミー用語の説明を取得するための便利なテンプレートタグです。

get_term()category_description() などの関連タグと組み合わせることで、より柔軟なデータ取得が可能になります。また、エスケープ処理やスタイリングを工夫することで、安全かつ見やすい表示を実現できます。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次