操作ガイド
操作ガイドメタ値

メタ値

メタ値を取得およびフィルタリングするには、メタキーを許可リストに追加する必要があります。

カスタム投稿、ユーザー、コメント、タクソノミー(タグとカテゴリー)のメタ値を取得するには、対応する型からmetaValueフィールド(単一の値)とmetaValuesフィールド(値の配列)をクエリします。

  • Post.metaValue
  • Post.metaValues
  • GenericCustomPost.metaValue
  • GenericCustomPost.metaValues
  • User.metaValue
  • User.metaValues
  • Comment.metaValue
  • Comment.metaValues
  • PostTag.metaValue
  • PostTag.metaValues
  • PostCategory.metaValue
  • PostCategory.metaValues
  • GenericTag.metaValue
  • GenericTag.metaValues
  • GenericCategory.metaValue
  • GenericCategory.metaValues

複数のメタ値を一度にクエリする

metaフィールド(上記と同じ型に対応)を使って、複数のメタエントリをJSONオブジェクトとしてクエリできます。

JSONオブジェクトの構造は以下のとおりです。

  • キー:メタキー
  • 値:値のリスト(メタ値がスカラーの場合、1要素のリストとして取得されます)

メタキーをクエリする

metaKeysフィールド(上記と同じ型に対応)を使って、エンティティで許可されているすべてのメタキーのリストを取得できます。

このフィールドは「センシティブ」なデータ要素です。

メタによるフィルタリング

カスタム投稿、コメント、ユーザー、タクソノミー(タグとカテゴリー)は、metaQueryインプットを使ってメタによるフィルタリングも行えます。

このインプットは、meta_query引数の指定方法get_postsget_usersなどの関数に対して)を改善したもので、GraphQLスキーマで型バリデーションが厳密に適用され、意味のある組み合わせのみが公開されます。

これは「oneof」インプットフィールドcompareByを使用することで実現されており、4つの選択肢が用意されています。選択したオプションに応じて、比較に使用できる演算子が異なります。

compareByインプット使用可能な演算子
1. keyEXISTS
NOT EXISTS
2. numericValue=
!=
>
>=
<
\<=
3. stringValue=
!=
LIKE
NOT LIKE
REGEXP
NOT REGEXP
RLIKE
4. arrayValueIN
NOT IN
BETWEEN
NOT BETWEEN

また、keyで比較する場合は、インプットvalueを指定する必要はありません。

metaQueryに複数のアイテムを渡すことができ、リストの最初のアイテムにインプットrelationを指定することで、条件をANDまたはORで結合するかどうかを決定できます。