is_category() の使い方|説明・引数・注意点

説明

is_category() は、カテゴリーアーカイブを表示しているかを判定する関数です。

基本構文

is_category( int|string|int[]|string[] $category = '' ): bool

引数

  • $category:カテゴリーのID・名前・スラッグ(省略可)

戻り値

条件に当てはまれば true、そうでなければ false。

使い方(サンプル)

if ( is_category( 'news' ) ) {
	// news カテゴリーの一覧
}

注意点

  • 引数を省略すると、どのカテゴリーでも true になります。
  • 指定にはID・名前・スラッグ(または配列)が使えます。
  • 投稿が属するカテゴリーを調べる場合は in_category() を使います。

実務での使いどころ

  • 特定のカテゴリー(ID・スラッグ)のアーカイブだけで、表示を変えるとき。
  • カテゴリーのアーカイブ全般で、見出しを変えるとき。

よくあるミスと対処

  • 個別の投稿ページで、その投稿のカテゴリーを判定するつもりで使っている。投稿ページでは false。投稿が属するカテゴリーは in_category() で判定する。
  • スラッグではなく、カテゴリー名を渡している。ID・スラッグ・名前のどれを渡しているかを意識する。

NG例

// 個別の投稿ページで
if ( is_category( 'news' ) ) {
	// 当てはまらない
}

OK例

if ( is_single() && in_category( 'news' ) ) {
	// newsカテゴリーに属する投稿
}

使い分け早見表

やりたいこと 使うもの
カテゴリーのアーカイブか is_category()
投稿が、そのカテゴリーに属するか in_category()
タグのアーカイブか is_tag()

関連項目

is_tag()、is_tax()、in_category()

公式リファレンス:is_category() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました