MENU

single_cat_title()

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 を正しく設定し、タイトルを出力させたい場合は $displaytrue に設定してください。

Q&A

single_cat_title() はどのテンプレートで使われますか?

主に category.php テンプレートで使用され、カテゴリーアーカイブページでのタイトル表示に使われます。

タイトルの前に「カテゴリー: 」などのプレフィックスを表示するにはどうすればよいですか?

single_cat_title( 'カテゴリー: ' ) のように $prefix 引数を使用することで、任意のテキストをタイトルの前に追加することができます。

カテゴリーアーカイブページでなくても single_cat_title() を使用できますか?

いいえ、single_cat_title() はカテゴリーアーカイブページでのみ動作します。その他のアーカイブページでは別のテンプレートタグを使用する必要があります。

まとめ

single_cat_title() は、カテゴリーアーカイブページで現在表示されているカテゴリー名を表示するための便利なテンプレートタグです。get_the_category()is_category() などの関連タグと一緒に使うことで、より柔軟なカテゴリー情報の表示や条件分岐を実現できます。

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