single_cat_title()
は、カテゴリーアーカイブページで現在表示されているカテゴリーの名前を表示するためのテンプレートタグです。
機能の説明
single_cat_title()
は、カテゴリーアーカイブページで現在のカテゴリーの名前を取得または表示します。カテゴリーアーカイブのページタイトルとして使われ、主にそのカテゴリーに属する投稿の一覧表示時に利用されます。
使用例
single_cat_title();
このコードは、カテゴリーアーカイブページでカテゴリー名を表示します。
使い方の解説
single_cat_title()
は、現在表示されているカテゴリーの名前を表示するために使用されます。通常は、カテゴリーアーカイブページ(category.php
テンプレート)で使用されます。
引数
$prefix
(オプション)タイトルの前に付けたい文字列。例として、「カテゴリー: 」などが使用されます。
$display
(
オプション)デフォルトは true
で、カテゴリー名が直接表示されます。false
に設定すると、名前が返されますが出力はされません。
使用例
<h1><?php single_cat_title( 'カテゴリー: ' ); ?></h1>
このコードは、カテゴリーアーカイブページで <h1>
タグ内に「カテゴリー: 」というプレフィックスを付けてカテゴリー名を表示します。例えば、「カテゴリー: ニュース」と表示されます。
一緒に使うことが多い関連タグ
get_the_category()
get_the_category()
は、投稿が所属するカテゴリーの一覧を取得するためのテンプレートタグです。特定の投稿がどのカテゴリーに属しているかを知りたい場合に使用されます。
使用例
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<ul>';
foreach ( $categories as $category ) {
echo '<li>' . esc_html( $category->name ) . '</li>';
}
echo '</ul>';
}
このコードは、投稿が所属するすべてのカテゴリーをリスト形式で表示します。カテゴリーの名前を取得し、<ul>
タグでリストとして出力しています。
is_category()
is_category()
は、現在表示されているページがカテゴリーアーカイブページかどうかを確認するテンプレートタグです。このタグは条件付きタグとして使用され、カテゴリーアーカイブページで特定の処理を行う場合に利用されます。
使用例
if ( is_category( 'ニュース' ) ) {
echo 'ニュースカテゴリーが表示されています。';
}
このコードは、現在表示されているページが「ニュース」カテゴリーアーカイブである場合にメッセージを表示します。
get_category_link()
get_category_link()
は、特定のカテゴリーの URL を取得するためのテンプレートタグです。カテゴリーのリンクを動的に生成する際に利用されます。
使用例
$category_id = get_cat_ID( 'ニュース' );
$category_link = get_category_link( $category_id );
echo '<a href="' . esc_url( $category_link ) . '">ニュースカテゴリーへ</a>';
このコードは、特定のカテゴリー(ここでは「ニュース」)のリンクを生成し、そのリンクを含んだアンカータグを出力します。
追加情報を取得したい場合
get_category()
で取得できる情報
get_category()
は、カテゴリー ID をもとにカテゴリーの詳細情報を取得します。このタグを使うことで、特定のカテゴリーに関するデータ(名前、スラッグ、説明など)を簡単に取得できます。
使用例
$category = get_category( get_query_var( 'cat' ) );
echo 'カテゴリー名: ' . $category->name;
echo 'スラッグ: ' . $category->slug;
このコードは、現在のカテゴリーの名前とスラッグを出力します。
出力できる情報
- name: カテゴリー名
- slug: カテゴリーのスラッグ(URL フレンドリーな名前)
- description: カテゴリーの説明
- count: そのカテゴリーに属する投稿数
使用する事で想定されるトラブル
タイトルが表示されない
現在のページがカテゴリーアーカイブページではない可能性があります。
カテゴリーアーカイブページ(通常は category.php
)でのみ single_cat_title()
が動作するため、テンプレートファイルの確認を行ってください。また、is_category()
でカテゴリーアーカイブページかどうかを条件として確認することも有効です。
カスタムプレフィックスが表示されない
$prefix
引数が正しく渡されていないか、$display
の値が false
に設定されている可能性があります。
解決方法
$prefix
を正しく設定し、タイトルを出力させたい場合は $display
を true
に設定してください。
Q&A
まとめ
single_cat_title()
は、カテゴリーアーカイブページで現在表示されているカテゴリー名を表示するための便利なテンプレートタグです。get_the_category()
や is_category()
などの関連タグと一緒に使うことで、より柔軟なカテゴリー情報の表示や条件分岐を実現できます。