Plugin Verilerini SorgulamaAdvanced Custom Fields (ACF)
Advanced Custom Fields (ACF)
Advanced Custom Fields (ACF) ile Çalışma kılavuzunda daha fazla bilgi edinin.
Advanced Custom Fields (ACF) eklentisindeki verilerle etkileşim kurmak için queries örnekleri.
ACF özel alanlarını alma
ACF ö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
# Temel alan türleri
text: metaValue(key: "text_field")
textarea: metaValue(key: "textarea_field")
select: metaValue(key: "select_field")
multiSelect: metaValue(key: "multi_select_field")
number: metaValue(key: "number_field")
# Tarih alanı
dateAsString: metaValue(key: "date_field")
dateYear: _strSubstr(string: $__dateAsString, offset: 0, length: 4)
dateMonth: _strSubstr(string: $__dateAsString, offset: 4, length: 2)
dateDay: _strSubstr(string: $__dateAsString, offset: 6, length: 2)
dateTime: _makeTime(year: $__dateYear, month: $__dateMonth, day: $__dateDay, hour: 0, minute: 0, second: 0)
date: _date(format: "Y-m-d", timestamp: $__dateTime)
}
}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: metaValue(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
}
}ACF özel alanlarını güncelleme
Alan adlarını ve değerlerini geçirerek, türleri ne olursa olsun, ACF ö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"],
number_field: [42],
date_field: ["20240320"],
}
}
) {
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")
number: metaValue(key: "number_field")
date: metaValue(key: "date_field")
}
}
}