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
: タグIDcount
: タグに関連付けられた投稿の数
使用する事で想定されるトラブル
説明文が表示されない
管理画面でタグの説明文が入力されていない可能性があります。
解決方法
「投稿」→「タグ」の管理画面で、各タグに説明文を追加してください。
カスタムタクソノミーで説明文が取得できない
tag_description()
はデフォルトのタグタクソノミーに限定されているため、カスタムタクソノミーには対応していません。
解決方法
get_term()
を使用して、特定のカスタムタクソノミーから説明を取得してください。
<?php
$term = get_term( get_queried_object()->term_id, 'custom_taxonomy' );
echo esc_html( $term->description );
?>
Q&A
まとめ
tag_description()
は、タグの説明を簡単に取得して表示するためのテンプレートタグです。
タグアーカイブページなどで使用され、single_tag_title()
などと組み合わせることで、タグごとの情報を充実させたページを作成できます。さらに、get_term()
や get_the_terms()
を使うことで、より詳細な情報を取得することも可能です。
コメント