WordPress 데이터 쿼리커스텀 태그
커스텀 태그
가이드 Working with Custom Tags 에서 자세한 내용을 확인하세요.
다음은 커스텀 태그 택소노미 데이터를 가져오는 쿼리 예제입니다.
스키마에 매핑되지 않은 택소노미
택소노미 "product-tag" 의 태그를 가져옵니다:
query {
tags(taxonomy: "product-tag") {
__typename
...on Tag {
count
description
id
name
slug
url
}
...on GenericTag {
taxonomy
customPostCount
customPosts {
__typename
...on CustomPost {
id
title
}
}
}
}
}커스텀 포스트에 연결된 태그 가져오기
GenericCustomPost 타입에는 tags 필드가 있어, 커스텀 포스트에 추가된 커스텀 태그를 가져올 수 있습니다:
query {
customPosts(
filter: { customPostTypes: "product" }
) {
__typename
... on GenericCustomPost {
tags(taxonomy: "product-tag") {
__typename
id
name
taxonomy
}
}
}
}태그로 커스텀 포스트 필터링
지정된 태그를 가진 커스텀 포스트를 가져오려면 입력 filter.tags 를 사용할 수 있습니다:
query {
customPostsByTagIDs: customPosts(
filter: {
tags: {
includeBy: {
ids: [26, 28],
}
taxonomy: "product-tag"
}
}
) {
id
title
}
customPostsByTagSlugs: customPosts(
filter: {
tags: {
includeBy: {
slugs: ["tango", "rock"]
}
taxonomy: "product-tag"
}
}
) {
id
title
}
}커스텀 포스트에 태그 설정
뮤테이션:
mutation {
setTagsOnCustomPost(
input: {
id: 1499,
tags: ["api", "development"]
taxonomy: "tag-taxonomy"
}
) {
status
errors {
__typename
... on ErrorPayload {
message
}
}
customPostID
customPost {
tags(taxonomy: "tag-taxonomy") {
id
}
tagNames(taxonomy: "tag-taxonomy")
}
}
}중첩 뮤테이션:
mutation {
customPost(by: { id: 1499 }) {
setTags(
input: {
tags: ["api", "development"]
taxonomy: "tag-taxonomy"
}
) {
status
errors {
__typename
... on ErrorPayload {
message
}
}
customPostID
customPost {
tags(taxonomy: "tag-taxonomy") {
id
}
tagNames(taxonomy: "tag-taxonomy")
}
}
}
}커스텀 태그 생성, 업데이트 및 삭제
이 쿼리는 커스텀 some-tag-taxonomy 태그의 태그 텀을 생성, 업데이트 및 삭제합니다:
mutation CreateUpdateDeleteTags {
createTag(input: {
taxonomy: "some-tag-taxonomy",
name: "Some name"
slug: "Some slug"
description: "Some description"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
category {
...TagData
}
}
updateTag(input: {
id: 1
taxonomy: "some-tag-taxonomy"
name: "Some updated name"
slug: "Some updated slug"
description: "Some updated description"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
category {
...TagData
}
}
deleteTag(input: {
id: 1
taxonomy: "some-tag-taxonomy"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
}
fragment TagData on Tag {
id
name
slug
description
}