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