Consultar Dados de PluginsMeta Box
Meta Box
Exemplos de queries para interagir com dados do plugin Meta Box.
Buscando campos personalizados do Meta Box
Podemos usar campos meta para consultar dados de campos personalizados do Meta Box, independentemente do tipo que sejam:
query GetPost($postId: ID!) {
post(by: { id: $postId }) {
id
title
text: metaValue(key: "text_field")
textarea: metaValue(key: "textarea_field")
select: metaValue(key: "select_field")
multiSelect: metaValues(key: "multi_select_field")
}
}Se o valor meta for um relacionamento (ex.: um post, um usuário, uma taxonomia, etc.), podemos usar o valor para consultar a entidade correspondente do tipo Post, User, Taxonomy, etc.:
query GetPostWithRelationships($postId: ID!) {
post(by: { id: $postId }) {
id
title
# Exportar o relacionamento com um post
relationshipPostId: metaValue(key: "relationship_post_id")
@export(as: "relationshipPostId")
# Exportar o relacionamento com uma lista de posts
relationshipPostIds: metaValues(key: "relationship_post_ids")
@export(as: "relationshipPostIds")
}
}
query QueryPostRelationships @depends(on: "GetPostWithRelationships") {
# Consultar o relacionamento com um post
relationshipPost: post(by: { id: $relationshipPostId }) {
id
title
}
# Consultar o relacionamento com uma lista de posts
relationshipPosts: posts(filter: { ids: $relationshipPostIds }) {
id
title
}
}Atualizando campos personalizados do Meta Box
Podemos usar mutations meta para atualizar dados de campos personalizados do Meta Box, passando seus nomes de campo e valores, independentemente do tipo que sejam:
mutation UpdatePost($postId: ID!) {
updatePost(
input: {
id: $postId
meta: {
text_field: ["New text value"],
textarea_field: ["New textarea value"],
select_field: ["New select value"],
multi_select_field: ["Choice 1", "Choice 2"],
}
}
) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
text: metaValue(key: "text_field")
textarea: metaValue(key: "textarea_field")
select: metaValue(key: "select_field")
multiSelect: metaValues(key: "multi_select_field")
}
}
}Prev