本文へ移動

用語集

WP_Query パラメーターmeta_query

meta_query は、WP_Query で「カスタムフィールドの値」を条件にして投稿を絞り込むための引数です。価格、フラグ、日付、評価点、表示対象など、投稿に保存された独自データを使って一覧を作りたい時に使います。

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

まず結論

meta_query は、WP_Query でカスタムフィールドの値を条件にして投稿を絞り込む引数です。key で見るメタキーを指定し、value で比べる値を指定し、compare で比較方法を指定します。

meta_query を使うと、「おすすめフラグが付いた投稿だけ」「価格が3000円以上の商品だけ」「開催日が特定日以降のイベントだけ」のように、投稿に保存された独自データを使って一覧を作れます。

初心者がつまずきやすいのは、カスタムフィールドの値は文字列として保存されていることが多く、数値や日付として比較したい時には type の指定も関係する点です。まずは keyvaluecomparetype の役割を分けて見ると理解しやすくなります。

meta_query は何を指定する引数か

meta_query は、投稿メタ、つまりカスタムフィールドの値を条件にして投稿を取得するための WP_Query 引数です。WordPress の投稿には、タイトルや本文だけでなく、独自のキーと値を保存できます。

その独自データを使って「この値を持つ投稿だけ」「この数値以上の投稿だけ」「このキーが存在する投稿だけ」のように絞り込む時に meta_query を使います。

ここで大事なのは、key は「どのカスタムフィールドを見るか」、value は「何と比べるか」、compare は「どう比べるか」だということです。

たとえば、おすすめフラグのメタキーが featured で、値が 1 の投稿だけを取りたいなら、keyfeaturedvalue1compare= を指定します。

項目役割
keyどのメタキーを見るかを指定するpricefeaturedevent_date など
value比較する値を指定する300012026-01-01 など
compare比較方法を指定する=!=>>=LIKEEXISTS など
type値をどの型として比較するかを指定するCHARNUMERICDATE など
relation複数条件の関係を指定するANDOR

key、value、compare、type の考え方

meta_query は、keyvaluecomparetype を分けて考えると理解しやすくなります。最初から複雑な条件を書くより、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 を使う場面だと判断した
  • 実際のメタキー名を確認した
  • 保存されている値の形式を確認した
  • keyvaluecomparetype の役割を分けて指定した
  • 数値比較では type や保存形式を確認した
  • まずは1条件だけの最小構成で取得できるか確認した

公式リファレンス

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

この記事の検証情報

検証環境

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

更新履歴

  • 2026年5月31日 内容を増補し、v3 基準の glossary 構成に調整
  • 2026年5月26日 glossary 用の初回ドラフトを作成

この用語を活用する

あとで見返す・共有する

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

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

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

用語集トップを見る