操作指南
操作指南元值

元值

要获取和过滤元值,需要将元键添加到允许列表

我们可以通过查询对应类型的 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 组合。