説明
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

コメント