플러그인 데이터 쿼리Advanced Custom Fields (ACF)
Advanced Custom Fields (ACF)
가이드 Working with Advanced Custom Fields (ACF) 에서 자세한 내용을 확인하세요.
Advanced Custom Fields (ACF) 플러그인의 데이터를 다루는 쿼리 예시를 소개합니다.
ACF 커스텀 필드 가져오기
메타 필드를 사용하여 종류에 관계없이 ACF 커스텀 필드 데이터를 쿼리할 수 있습니다.
query GetPost($postId: ID!) {
post(by: { id: $postId }) {
id
title
# Basic field types
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")
# Date field
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)
}
}메타 값이 관계(예: 게시물, 사용자, 분류 등)인 경우, 해당 값을 사용하여 Post, User, Taxonomy 등의 타입에 해당하는 엔티티를 쿼리할 수 있습니다.
query GetPostWithRelationships($postId: ID!) {
post(by: { id: $postId }) {
id
title
# Export the relationship to a post
relationshipPostId: metaValue(key: "relationship_post_id")
@export(as: "relationshipPostId")
# Export the relationship to a list of posts
relationshipPostIds: metaValue(key: "relationship_post_ids")
@export(as: "relationshipPostIds")
}
}
query QueryPostRelationships @depends(on: "GetPostWithRelationships") {
# Query the relationship to a post
relationshipPost: post(by: { id: $relationshipPostId }) {
id
title
}
# Query the relationship to a list of posts
relationshipPosts: posts(filter: { ids: $relationshipPostIds }) {
id
title
}
}ACF 커스텀 필드 업데이트
메타 뮤테이션을 사용하여 필드 이름과 값을 전달함으로써, 종류에 관계없이 ACF 커스텀 필드 데이터를 업데이트할 수 있습니다.
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")
}
}
}Prev