MENU

category_description()

category_description() は、WordPressで指定されたカテゴリーの説明を取得するためのテンプレートタグです。カテゴリーに設定された説明をHTML出力として返し、記事一覧やカテゴリーページで説明を表示する際に便利です。

目次

機能の説明

category_description() は、指定したカテゴリーの説明(description)を取得し、出力します。このテンプレートタグを使うと、投稿カテゴリーに設定された説明文を簡単に表示できます。
category_description() は一般的にカテゴリーアーカイブページや、特定のカテゴリーページで説明文を出力する際に使われます。

説明文が設定されている場合、それを文字列として返し、未設定の場合は空の文字列を返します。主に SEO向けのカテゴリー紹介 やユーザビリティの向上に役立ちます。

シンプルなコード例

<?php echo category_description(); ?>

この例では、現在表示されているカテゴリーの説明をそのまま出力します。

使い方の解説

category_description() は、基本的にアーカイブページで使用され、現在表示されているカテゴリーの説明を取得します。また、任意のカテゴリーIDを指定して、そのカテゴリーの説明を取得することも可能です。

使用例

<?php
$category_id = 5; // 例として、IDが5のカテゴリーの説明を取得
echo category_description($category_id);
?>

このコードでは、カテゴリーID 5 の説明を取得し、表示しています。category_description() に特定のカテゴリーIDを渡すことで、任意のカテゴリーの説明を取得することが可能です。カテゴリーアーカイブページ以外でも、特定のカテゴリーに関連するページで説明を表示する際に便利です。

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

get_the_category()

get_the_category() は、投稿に関連付けられたカテゴリーの情報を取得するテンプレートタグです。特定の投稿に紐付いているカテゴリー情報を配列として取得します。

<?php
$categories = get_the_category();
foreach ($categories as $category) {
    echo '<h2>' . esc_html($category->name) . '</h2>';
    echo '<p>' . category_description($category) . '</p>';
}
?>

このコードでは、現在の投稿に関連付けられたすべてのカテゴリーを取得し、それぞれのカテゴリー名とカテゴリーの説明を表示しています。get_the_category() でカテゴリーを取得し、そのカテゴリーごとの説明を category_description() で出力する流れです。

get_category()

get_category() は、指定したカテゴリーIDに基づいて、そのカテゴリーの情報を取得するテンプレートタグです。IDに基づいて詳細な情報を取得するのに便利です。

<?php
$category = get_category(3); // カテゴリーID 3の情報を取得
echo '<h2>' . esc_html($category->name) . '</h2>';
echo '<p>' . category_description($category) . '</p>';
?>

このコードでは、カテゴリーID 3 のカテゴリー名と、そのカテゴリーに設定された説明を表示しています。特定のカテゴリーを狙って情報を取得するのに適したテンプレートタグです。

get_the_archive_description()

現在の アーカイブページ(カテゴリー・タグなど)の説明 を取得します。

if (is_category()) {
    echo get_the_archive_description();
}

category_description() がカテゴリー専用であるのに対し、get_the_archive_description() は、カテゴリー以外の タグやカスタムタクソノミー にも対応しています。

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

category_description() では主に説明のみを取得できますが、追加の情報を取得したい場合には、get_category()get_the_category() などのタグと組み合わせて使うことができます。

get_category()で取得できる情報

get_category() で取得できる情報は多岐にわたります。カテゴリーページで説明以外の情報を表示したい場合に使用します。

<?php
$category = get_category(3); // カテゴリーID 3の情報を取得
echo 'カテゴリー名: ' . esc_html($category->name) . '<br>';
echo 'スラッグ: ' . esc_html($category->slug) . '<br>';
echo '説明: ' . esc_html(category_description($category)) . '<br>';
?>

このコードでは、カテゴリーID 3 に対して、カテゴリー名、スラッグ、説明を取得して表示しています。カテゴリーのメタデータを含めて表示するのに便利です。

出力できる情報

  • name: カテゴリー名
  • slug: カテゴリーのスラッグ(URL フレンドリーな名前)
  • term_id: カテゴリーのID
  • description: カテゴリーの説明
  • count: カテゴリーに含まれる投稿の数

get_queried_object()で取得できる情報

$category = get_queried_object();
if ($category) {
    echo 'カテゴリー名: ' . esc_html($category->name) . '<br>';
    echo 'スラッグ: ' . esc_html($category->slug) . '<br>';
    echo '説明: ' . category_description($category->term_id);
}

get_queried_object() で現在のカテゴリー情報を取得し、IDを使って説明文を出力しています。

出力できる情報

  • name: カテゴリー名
  • slug: カテゴリーのスラッグ
  • description: カテゴリーの説明

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

カテゴリーの説明が表示されない

category_description() で指定したカテゴリーに説明が設定されていない可能性があります。

解決方法

WordPress管理画面のカテゴリー設定で、そのカテゴリーに説明が入力されているかを確認してください。

特定のカテゴリーの説明が取得できない

category_description() に渡したカテゴリーIDが間違っているか、存在しないカテゴリーを指定している可能性があります。

解決方法

正しいカテゴリーIDを確認し、category_description() に渡す引数を修正してください。

出力されるHTMLが整形されていない

category_description() の出力は、HTMLタグを含む場合があります。

解決方法

category_description() の出力は、HTMLタグを含む場合があります。

Q&A

category_description() はどこで使用できますか?

一般的にカテゴリーアーカイブページや、特定のカテゴリーページで使用されます。また、category_description() にカテゴリーIDを指定すれば、どのページでも任意のカテゴリーの説明を取得することができます。

複数のカテゴリーがある場合に、それぞれの説明を表示できますか?

はい、get_the_category()get_category() と組み合わせることで、複数のカテゴリーの説明を表示できます。カテゴリーごとにループを回して説明を出力することが可能です。

カテゴリーが設定されていない場合、エラーになりますか?

category_description() はカテゴリーが設定されていない場合には空の値を返すため、エラーにはなりません。しかし、適切なエラーメッセージや代替テキストを表示することを推奨します。

説明にHTMLを含めても良いですか?

はい、カテゴリーの説明は HTMLタグをサポート しています。ただし、テーマの仕様によっては、サニタイズ処理が行われる可能性があります。

特定のカテゴリーIDの説明を取得するにはどうすればいいですか?

category_description() にIDを渡す ことで取得可能です。

echo category_description(3); // IDが3のカテゴリーの説明を出力

アーカイブページ全般で使いたい場合は?

カテゴリー以外も対象とするなら、get_the_archive_description() を使う方が適切です。

まとめ

category_description() は、WordPressのカテゴリー説明を取得して表示するためのシンプルで効果的なテンプレートタグです。カテゴリーアーカイブページや特定のカテゴリーページで説明文を表示する際に役立ちます。また、get_the_category()get_category() といった関連タグと組み合わせることで、カテゴリーに関する詳細情報を柔軟に表示することが可能です。

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

コメント

コメントする

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

目次