is_category() とin_category() 一文字の違いが大きな違い!WordPress関数

  • ブックマーク

この記事のポイント

1cat

  • is_category() とin_category() 一文字だけ違う2つの関数ってどうなの?
  • 調べてみてもなんとなく分かった?感じだったので、ものくろぼっくすのカテゴリーで実際に調べてみた
  • カテゴリーの記事一覧ページ(カテゴリーアーカイプ)は「is_category()」/ カテゴリーに含まれる個別記事はin_category() ということが分かった

違いが分からなかった!

こちらの記事で、WordPressのカテゴリーIDで処理を分岐させました。そこで使ったのが、is_category() とin_category()の2つ関数です。

 [箱] 手作業なく簡単・一括に!2つ以上の複数カテゴリー”記事”をGoogleさん インデックス不許可 “noindex”の設定方法 | [箱]ものくろぼっくす

実は違いを理解するのに、だいぶ悩みました。そんな悩むことは ものくろ だけで十分だと思います。やっと分かったのでここにまとめました。

isとin の違い?”WordPress Codex”で調べた

2つの関数の名前を見ると、 isとin が違います。1文字だけ違います。ややこしい。

困ったときの”WordPress Codex”を見てました。

 関数リファレンス/is category – WordPress Codex 日本語版

この条件分岐タグは、カテゴリーアーカイブが表示されているかチェックします。

 テンプレートタグ/in category – WordPress Codex 日本語版

現在の投稿(あるいは指定した任意の投稿) に指定したカテゴリーが割り当てられているか調べます。

isはカテゴリーアーカイブを、inは現在の投稿(あるいは指定した任意の投稿) が、調べようとするカテゴリーかどうか?をチェックします。

分かったような?なんとなくまだモヤモヤしています。なので、実際に試してみました。

ものくろぼっくすの『ものレポ』カテゴリーを例にして考えた

ものレポで、2つの関数の結果がどうなるのか?試してました。『ものレポ』のカテゴリーIDは”2637”です。

アーカイブがキーワードのis_category(2637)は、この(https://mono96.jp/?cat=2637 )カテゴリーアーカイプ(カテゴリーの一覧ページ)のみがヒットします。カテゴリー内にある記事は無視されます。

一方、in_category(2637)では、『ものレポ』の中にある個別記事がヒットします。カテゴリー記事数が100なら、100記事がヒットします。2013年10月3日現在 『ものレポ』は5記事です。つまり、in_category(2637)では、[箱] 【ものレポ】チェキ instax mini 90 が凄くいい感じ、そして続けることの大切さを知りました。など  をはじめ、カテゴリーに含まれる5記事そのものがヒットします。

一つ注意があります。in_category() だけだと、トップページも含む検索結果になります。上の5つの記事をきちんと取り出すには『&& is_single()』を使って、個別記事だけという条件をつけるようにしてください。詳しくは2つのリンクをご覧ください。

 関数リファレンス/is single – WordPress Codex 日本語版

 PHP: 論理演算子 – Manual

ものくろ はこう思った

Dthing

WordPress関数のis_category() とin_category()

名前が似ている2つです。なかなか違いが分かりませんでした。実際に試してみたら、結果がまったく違うことが分かりました。なので、使い方も違うし、2つ関数が用意されていることが理解できました。

カテゴリーの記事一覧ページ(カテゴリーアーカイプ)を取り出すには「is_category()」をカテゴリーに含まれる個別記事を取り出すにはin_category() になります。

in_category() && is_single() どちらもTRUEでないといけない論理演算子を使って、トップページを除くようにするのがポイントです。

これらを使うことで、[箱] 手作業なく簡単・一括に!2つ以上の複数カテゴリー”記事”をGoogleさん インデックス不許可 “noindex”の設定方法は簡単に多くの記事を一括でmateタグを追加できています。

本当に便利です。

WordPress関数リファレンスガイド
藤本 壱
ソシム
売り上げランキング: 45,071
  • ブックマーク

この記事を書いた人