Plugin Verilerini SorgulamaMeta Box
Meta Box
Meta Box eklentisindeki verilerle etkileşim kurmak için queries örnekleri.
Meta Box özel alanlarını alma
Meta Box özel alan verilerini sorgulamak için, türleri ne olursa olsun, meta alanlarını kullanabiliriz:
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")
}
}Meta değer bir ilişkiyse (örn: bir gönderi, bir kullanıcı, bir taksonomi vb.), bu değeri kullanarak Post, User, Taxonomy vb. türündeki ilgili varlığı sorgulayabiliriz:
query GetPostWithRelationships($postId: ID!) {
post(by: { id: $postId }) {
id
title
# Bir gönderiye ilişkiyi dışa aktar
relationshipPostId: metaValue(key: "relationship_post_id")
@export(as: "relationshipPostId")
# Bir gönderi listesine ilişkiyi dışa aktar
relationshipPostIds: metaValues(key: "relationship_post_ids")
@export(as: "relationshipPostIds")
}
}
query QueryPostRelationships @depends(on: "GetPostWithRelationships") {
# Bir gönderiye ilişkiyi sorgula
relationshipPost: post(by: { id: $relationshipPostId }) {
id
title
}
# Bir gönderi listesine ilişkiyi sorgula
relationshipPosts: posts(filter: { ids: $relationshipPostIds }) {
id
title
}
}Meta Box özel alanlarını güncelleme
Alan adlarını ve değerlerini geçirerek, türleri ne olursa olsun, Meta Box özel alan verilerini güncellemek için meta mutations kullanabiliriz:
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