まず結論
operator は、WP_Query の tax_query の中で、terms に指定したタームをどう判定するかを指定する項目です。指定タームのいずれかに一致させるなら IN、除外するなら NOT IN、複数タームをすべて必要にするなら AND を確認します。
operator は、カテゴリー、タグ、カスタムタクソノミーなどで投稿を絞り込む時に使う tax_query の項目です。taxonomy で分類の種類を決め、field でタームの指定方法を決め、terms で具体的なタームを指定し、operator でそのタームをどう判定するかを決めます。
初心者が迷いやすいのは、operator と relation の違いです。operator は1つの tax_query 条件の中で、指定した terms をどう扱うかを決めます。relation は複数の tax_query 条件同士を AND や OR でつなぐ指定です。
operator は何を指定する項目か
operator は、tax_query の中で terms に指定したタームをどう判定するかを指定します。指定したタームに属する投稿を取得するのか、指定したタームを除外するのか、複数タームをすべて持つ投稿だけを取得するのかを切り替えます。
たとえば、terms に news と updates を指定した場合、operator => ‘IN’ ならどちらかに属する投稿が対象になります。operator => ‘NOT IN’ ならそれらに属する投稿を除外します。operator => ‘AND’ なら、指定したタームをすべて持つ投稿を対象にします。
ここで大事なのは、operator は taxonomy 条件で使う判定方法だということです。カスタムフィールドの値の比較で使う compare とは別の役割です。
また、operator は terms と一緒に考えます。terms に何を指定しているのか、複数指定なのか、除外したいのかによって、選ぶ operator が変わります。
| operator | 意味 | 使う場面 |
|---|---|---|
IN | terms のいずれかに一致する | 指定カテゴリーのどれかに属する投稿を取得したい時 |
NOT IN | terms に含まれるタームを除外する | 特定カテゴリーやタグを除外したい時 |
AND | terms のすべてに一致する | 複数タームをすべて持つ投稿を取得したい時 |
EXISTS | 指定 taxonomy のタームが存在する投稿を対象にする | 値よりも紐づきの有無を確認したい時 |
NOT EXISTS | 指定 taxonomy のタームが存在しない投稿を対象にする | 未分類や未設定の状態を確認したい時 |
operator、relation、compare の違い
operator と混同しやすい言葉に、relation と compare があります。どれも条件のつなぎ方や比較に関係しますが、使う場所と役割が違います。
operator は tax_query の1条件の中で、terms をどう判定するかを指定します。relation は複数の tax_query 条件同士をどうつなぐかを指定します。compare は主に meta_query で値をどう比較するかを指定します。
たとえば、1つのカテゴリー条件の中で「news または updates」を扱うなら operator の話です。カテゴリー条件とタグ条件を両方満たすか、どちらかでよいかを指定するなら relation の話です。
カスタムフィールドの価格が3000以上かどうかを判定するなら、operator ではなく meta_query の compare の話になります。
Builder での扱い
WP Query Builder では、operator は taxonomy 条件の判定方法として扱う想定です。初心者向けには、IN や NOT IN だけを見せるより、「含む」「除外する」「すべて含む」のように表示すると分かりやすくなります。
たとえば Builder では、「分類の種類: カテゴリー」「ターム: news, updates」「判定: どれかを含む」のように入力させ、内部で operator => ‘IN’ に変換します。
複数の taxonomy 条件を扱う場合は、operator と relation を別々に見せることが重要です。1つの条件内の判定は operator、条件同士のつなぎ方は relation と分けます。
使いどころ・避けどころと実践確認
tax_query で指定タームを含む、すべて含む、除外するなど集合条件を変えたい時に使います。
複数の条件同士をAND・ORでつなぐ役割としては使わず、relation と分けます。
AND と IN は入力ターム数が増えた時の意味が異なり、NOT IN は未付与投稿の扱いもテストが必要です。
IN と AND の違いは、どれか一つのタームでよいか、指定したすべてが必要かという要件の違いです。
タームAのみ、Bのみ、A+B、未付与の投稿を作り、各 operator で取得できた投稿IDの集合を表にして比較します。
WordPressの仕様で確認するポイント
公式資料では、WP_Query の Taxonomy Parameters と WP_Tax_Query のリファレンスで、operator、terms、field、relation などの構造を確認できます。
operator は単独ではなく、taxonomy、field、terms と組み合わせて意味を持ちます。公式資料を見る時も、tax_query 全体の構造として確認すると理解しやすくなります。
公式リンク
公式ドキュメント
operator は、tax_query の中で terms をどう判定するかを指定する項目です。どれかに一致する、除外する、すべて必要にする、といった分類条件の意味を決めます。
迷った時は、1つの taxonomy と1つまたは少数の terms だけで最小構成を作ります。取得できることを確認してから、複数ターム、除外条件、複数 taxonomy 条件へ広げると安全です。
operator の最終チェック
operatorはtax_query内のterms判定方法だと理解しているIN、NOT IN、ANDの違いを確認したoperatorとrelationの役割を分けて確認した- カスタムフィールド条件の
compareと混同していない - 複数タームでは結果が広がるのか狭まるのかを確認した
- まずは1条件だけの最小構成で取得できるか確認した
公式リファレンス
仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年8月29日 本文と補助情報を更新
- 2026年8月15日 初回公開
この用語を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。
他の用語も続けて確認できます
似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。