MENU

tag_description()

tag_description() は、タグの説明文を取得するためのテンプレートタグです。特定のタグページやタグの情報を表示する際に、タグの概要や詳細を表示するために使用されます。

目次

機能の説

tag_description() は、タグアーカイブページなどでそのタグに関連付けられた説明文を取得して表示します。管理画面で設定されたタグの説明を出力するために使用します。

シンプルなコード例

<?php echo tag_description(); ?>

この例では、現在表示中のタグの説明文をそのまま出力します。

使い方の解説

タグアーカイブページや、特定のタグ情報を表示するページで使われます。

管理画面から「投稿」→「タグ」で各タグに説明文を登録すると、tag_description() でその説明文を取得できます。

使用例

<?php
if ( is_tag() ) {
    echo '<div class="tag-description">';
    echo tag_description();
    echo '</div>';
}
?>
  • is_tag(): 現在のページがタグアーカイブページであるかどうかを判定します。
  • tag_description(): 現在のタグの説明文を表示します。
  • <div class="tag-description"> のようにクラスを付けることで、CSSでスタイリングが可能です。

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

single_tag_title()

single_tag_title() は、現在のタグのタイトル(名前)を取得するテンプレートタグです。tag_description() と組み合わせて、タグ名とその説明を表示する際に利用されます。

<?php
if ( is_tag() ) {
    echo '<h1>' . single_tag_title( '', false ) . '</h1>';
    echo '<p>' . tag_description() . '</p>';
}
?>
  • single_tag_title() でタグ名を取得し、tag_description() でそのタグの説明を表示しています。
  • タグのタイトルと説明をセットで表示することで、よりわかりやすいページになります。

get_term()

get_term() は、タグやカテゴリーなどのタクソノミー情報を取得するテンプレートタグです。tag_description() よりも詳細な情報を取得したい場合に使います。

<?php
$term = get_term( get_queried_object()->term_id, 'post_tag' );
echo '<h1>' . esc_html( $term->name ) . '</h1>';
echo '<p>' . esc_html( $term->description ) . '</p>';
?>
  • get_term(): タグIDから詳細な情報を取得します。
  • get_queried_object(): 現在のタグのオブジェクトを取得します。
  • これにより、タグの名前や説明以外にも、スラッグやカウント情報を取得できます。

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

tag_description() だけでなく、get_term()get_the_terms() を使うことで、タグに関するより詳細な情報を取得できます。

get_the_terms()で取得できる情報

<?php
$post_tags = get_the_terms( get_the_ID(), 'post_tag' );
if ( ! empty( $post_tags ) ) {
    foreach ( $post_tags as $tag ) {
        echo '<p>タグ名: ' . esc_html( $tag->name ) . '</p>';
        echo '<p>説明: ' . esc_html( $tag->description ) . '</p>';
    }
}
?>

出力できる情報

  • name: タグ名
  • slug: タグのスラッグ(URLフレンドリーな名前)
  • description: タグの説明
  • term_id: タグID
  • count: タグに関連付けられた投稿の数

使用する事で想定されるトラブル

説明文が表示されない

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

解決方法

「投稿」→「タグ」の管理画面で、各タグに説明文を追加してください。

カスタムタクソノミーで説明文が取得できない

tag_description() はデフォルトのタグタクソノミーに限定されているため、カスタムタクソノミーには対応していません。

解決方法

get_term() を使用して、特定のカスタムタクソノミーから説明を取得してください。

<?php
$term = get_term( get_queried_object()->term_id, 'custom_taxonomy' );
echo esc_html( $term->description );
?>

Q&A

tag_description() で HTML タグを含めた説明を表示することはできますか?

はい、HTMLタグを含んだ説明文はそのまま出力されますが、XSS(クロスサイトスクリプティング)対策として、esc_html() などのサニタイズ関数で出力するのが安全です。

タグページ以外で tag_description() を使用できますか?

はい、特定のタグIDを取得し、その説明を表示することが可能です。

<?php echo tag_description( 5 ); ?>

カスタムタクソノミーでタグの説明を表示するにはどうしたらいいですか?

get_term() 関数を使うことで、カスタムタクソノミーの説明も取得できます。

まとめ

tag_description() は、タグの説明を簡単に取得して表示するためのテンプレートタグです。

タグアーカイブページなどで使用され、single_tag_title() などと組み合わせることで、タグごとの情報を充実させたページを作成できます。さらに、get_term()get_the_terms() を使うことで、より詳細な情報を取得することも可能です。

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

コメント

コメントする

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

目次