本文へ移動

用語集

WP_Query パラメーターoperator

operator は、WP_Query の tax_query の中で、指定した terms をどのように判定するかを決める項目です。タームのいずれかに一致するのか、除外するのか、複数タームをすべて必要とするのかによって指定が変わります。

Huddly Huddly 投稿日: 2026年8月15日 更新日: 2026年8月29日 読了目安: 4分

まず結論

operator は、WP_Query の tax_query の中で、terms に指定したタームをどう判定するかを指定する項目です。指定タームのいずれかに一致させるなら IN、除外するなら NOT IN、複数タームをすべて必要にするなら AND を確認します。

operator は、カテゴリー、タグ、カスタムタクソノミーなどで投稿を絞り込む時に使う tax_query の項目です。taxonomy で分類の種類を決め、field でタームの指定方法を決め、terms で具体的なタームを指定し、operator でそのタームをどう判定するかを決めます。

初心者が迷いやすいのは、operatorrelation の違いです。operator は1つの tax_query 条件の中で、指定した terms をどう扱うかを決めます。relation は複数の tax_query 条件同士を ANDOR でつなぐ指定です。

operator は何を指定する項目か

operator は、tax_query の中で terms に指定したタームをどう判定するかを指定します。指定したタームに属する投稿を取得するのか、指定したタームを除外するのか、複数タームをすべて持つ投稿だけを取得するのかを切り替えます。

たとえば、termsnewsupdates を指定した場合、operator => ‘IN’ ならどちらかに属する投稿が対象になります。operator => ‘NOT IN’ ならそれらに属する投稿を除外します。operator => ‘AND’ なら、指定したタームをすべて持つ投稿を対象にします。

ここで大事なのは、operator は taxonomy 条件で使う判定方法だということです。カスタムフィールドの値の比較で使う compare とは別の役割です。

また、operatorterms と一緒に考えます。terms に何を指定しているのか、複数指定なのか、除外したいのかによって、選ぶ operator が変わります。

operator意味使う場面
INterms のいずれかに一致する指定カテゴリーのどれかに属する投稿を取得したい時
NOT INterms に含まれるタームを除外する特定カテゴリーやタグを除外したい時
ANDterms のすべてに一致する複数タームをすべて持つ投稿を取得したい時
EXISTS指定 taxonomy のタームが存在する投稿を対象にする値よりも紐づきの有無を確認したい時
NOT EXISTS指定 taxonomy のタームが存在しない投稿を対象にする未分類や未設定の状態を確認したい時

operator、relation、compare の違い

operator と混同しやすい言葉に、relationcompare があります。どれも条件のつなぎ方や比較に関係しますが、使う場所と役割が違います。

operatortax_query の1条件の中で、terms をどう判定するかを指定します。relation は複数の tax_query 条件同士をどうつなぐかを指定します。compare は主に meta_query で値をどう比較するかを指定します。

たとえば、1つのカテゴリー条件の中で「news または updates」を扱うなら operator の話です。カテゴリー条件とタグ条件を両方満たすか、どちらかでよいかを指定するなら relation の話です。

カスタムフィールドの価格が3000以上かどうかを判定するなら、operator ではなく meta_querycompare の話になります。

Builder での扱い

WP Query Builder では、operator は taxonomy 条件の判定方法として扱う想定です。初心者向けには、INNOT IN だけを見せるより、「含む」「除外する」「すべて含む」のように表示すると分かりやすくなります。

たとえば Builder では、「分類の種類: カテゴリー」「ターム: news, updates」「判定: どれかを含む」のように入力させ、内部で operator => ‘IN’ に変換します。

複数の taxonomy 条件を扱う場合は、operatorrelation を別々に見せることが重要です。1つの条件内の判定は operator、条件同士のつなぎ方は relation と分けます。

使いどころ・避けどころと実践確認

tax_query で指定タームを含む、すべて含む、除外するなど集合条件を変えたい時に使います。

複数の条件同士をAND・ORでつなぐ役割としては使わず、relation と分けます。

ANDIN は入力ターム数が増えた時の意味が異なり、NOT IN は未付与投稿の扱いもテストが必要です。

INAND の違いは、どれか一つのタームでよいか、指定したすべてが必要かという要件の違いです。

タームAのみ、Bのみ、A+B、未付与の投稿を作り、各 operator で取得できた投稿IDの集合を表にして比較します。

関連記事リンクのサムネイル

WordPressの仕様で確認するポイント

公式資料では、WP_Query の Taxonomy Parameters と WP_Tax_Query のリファレンスで、operatortermsfieldrelation などの構造を確認できます。

operator は単独ではなく、taxonomyfieldterms と組み合わせて意味を持ちます。公式資料を見る時も、tax_query 全体の構造として確認すると理解しやすくなります。

公式リンク

公式ドキュメント

operator は、tax_query の中で terms をどう判定するかを指定する項目です。どれかに一致する、除外する、すべて必要にする、といった分類条件の意味を決めます。

迷った時は、1つの taxonomy と1つまたは少数の terms だけで最小構成を作ります。取得できることを確認してから、複数ターム、除外条件、複数 taxonomy 条件へ広げると安全です。

operator の最終チェック

  • operatortax_query 内の terms 判定方法だと理解している
  • INNOT INAND の違いを確認した
  • operatorrelation の役割を分けて確認した
  • カスタムフィールド条件の compare と混同していない
  • 複数タームでは結果が広がるのか狭まるのかを確認した
  • まずは1条件だけの最小構成で取得できるか確認した

公式リファレンス

仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。

この記事の検証情報

検証環境

WordPress
7.1
PHP
8.3.33
テーマ
wpq-media + DDEV
対象
カスタム投稿 / taxonomy / meta_query

更新履歴

  • 2026年8月29日 本文と補助情報を更新
  • 2026年8月15日 初回公開

この用語を活用する

あとで見返す・共有する

お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。

他の用語も続けて確認できます

似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。

用語集トップを見る