まず結論
meta_query は、WP_Query でカスタムフィールドの値を条件にして投稿を絞り込む引数です。key で見るメタキーを指定し、value で比べる値を指定し、compare で比較方法を指定します。
meta_query を使うと、「おすすめフラグが付いた投稿だけ」「価格が3000円以上の商品だけ」「開催日が特定日以降のイベントだけ」のように、投稿に保存された独自データを使って一覧を作れます。
初心者がつまずきやすいのは、カスタムフィールドの値は文字列として保存されていることが多く、数値や日付として比較したい時には type の指定も関係する点です。まずは key、value、compare、type の役割を分けて見ると理解しやすくなります。
meta_query は何を指定する引数か
meta_query は、投稿メタ、つまりカスタムフィールドの値を条件にして投稿を取得するための WP_Query 引数です。WordPress の投稿には、タイトルや本文だけでなく、独自のキーと値を保存できます。
その独自データを使って「この値を持つ投稿だけ」「この数値以上の投稿だけ」「このキーが存在する投稿だけ」のように絞り込む時に meta_query を使います。
ここで大事なのは、key は「どのカスタムフィールドを見るか」、value は「何と比べるか」、compare は「どう比べるか」だということです。
たとえば、おすすめフラグのメタキーが featured で、値が 1 の投稿だけを取りたいなら、key に featured、value に 1、compare に = を指定します。
| 項目 | 役割 | 例 |
|---|---|---|
key | どのメタキーを見るかを指定する | price、featured、event_date など |
value | 比較する値を指定する | 3000、1、2026-01-01 など |
compare | 比較方法を指定する | =、!=、>、>=、LIKE、EXISTS など |
type | 値をどの型として比較するかを指定する | CHAR、NUMERIC、DATE など |
relation | 複数条件の関係を指定する | AND、OR |
key、value、compare、type の考え方
meta_query は、key、value、compare、type を分けて考えると理解しやすくなります。最初から複雑な条件を書くより、1つのメタキーを1つの値と比較するところから始めます。
compare は比較方法です。完全一致なら =、一致しないものを探すなら !=、数値の大小を比べるなら > や >=、文字列を部分一致で探すなら LIKE などを使います。
type は、値をどういう型として比較するかを指定する項目です。数値として大小を比べたいなら NUMERIC、日付として比べたいなら保存形式に合わせて DATE などを検討します。
type を指定しないまま数値比較をすると、思った順番や条件にならないことがあります。価格や点数のような数値を扱う時は、type を確認します。
Builder での扱い
WP Query Builder では、meta_query はカスタムフィールド条件のグループとして扱う想定です。初心者向けには、いきなり配列を見せるより、「メタキー」「値」「比較方法」「型」「条件のつなぎ方」に分けて入力できると理解しやすくなります。
たとえば、画面上では「メタキー: price」「比較: 以上」「値: 3000」「型: 数値」のように選ばせ、内部で meta_query の配列へ変換する形です。
Builder で特に注意したいのは、保存値の形式です。数値として比較したいのに文字列で保存されていたり、日付の形式がそろっていなかったりすると、期待どおりに絞り込めないことがあります。
使いどころ・避けどころと実践確認
カスタムフィールドの値や存在有無を条件にして投稿を絞り込む時に使います。
カテゴリーやタグで表せる分類、または投稿日で足りる条件をメタへ移すのは避けます。
key・value・compare・typeの組み合わせと未設定投稿の扱いで結果が変わり、条件数が増えるほど負荷も確認が必要です。
条件を増やす前に一つのキーで期待する投稿が返ることを確かめると、0件の原因を一段ずつ追えます。
保存値の実物、期待する投稿ID、最小条件の結果、生成されたSQLを順に記録し、条件を一つずつ増やします。
WordPressの仕様で確認するポイント
公式資料では、WP_Query の meta_query は Custom Field Parameters の中で確認できます。さらに詳しい構造は、WP_Meta_Query の公式リファレンスで確認できます。
特定の投稿に保存されているメタ値を取得して確認したい場合は、get_post_meta() の公式リファレンスも役に立ちます。meta_query が動かない時は、まず保存値を確認することが大切です。
公式リンク
公式ドキュメント
meta_query は、カスタムフィールドの値で投稿を絞り込むための引数です。分類で絞る tax_query とは役割が違うため、まず「分類なのか、保存値なのか」を分けて考えます。
迷った時は、1つのメタキーと1つの値だけで最小構成を作ります。取得できることを確認してから、数値比較、複数条件、AND / OR 条件へ広げると安全です。
meta_query の最終チェック
- 保存値で絞り込む条件なので
meta_queryを使う場面だと判断した - 実際のメタキー名を確認した
- 保存されている値の形式を確認した
key、value、compare、typeの役割を分けて指定した- 数値比較では
typeや保存形式を確認した - まずは1条件だけの最小構成で取得できるか確認した
公式リファレンス
仕様や原文の説明も確認したいときは、公式ドキュメントと整理ページをあわせて見ると理解しやすくなります。
この記事の検証情報
検証環境
- WordPress
- 7.1
- PHP
- 8.3.33
- テーマ
- wpq-media + DDEV
- 対象
- カスタム投稿 / taxonomy / meta_query
更新履歴
- 2026年5月31日 内容を増補し、v3 基準の glossary 構成に調整
- 2026年5月26日 glossary 用の初回ドラフトを作成
この用語を活用する
あとで見返す・共有する
お気に入りに保存できます。役に立ったポイントは、いいねや共有で教えてください。
他の用語も続けて確認できます
似た用語や周辺知識をまとめて見たいときは、用語集トップから探すと迷いにくくなります。