WordPress 데이터 쿼리커스텀 카테고리
커스텀 카테고리
가이드 커스텀 카테고리 다루기에서 자세한 내용을 확인하세요.
커스텀 카테고리 택소노미 데이터를 가져오는 쿼리 예시입니다.
스키마에 매핑되지 않은 택소노미
택소노미 "product-category"로 카테고리를 조회합니다.
query {
categories(taxonomy: "product-category") {
__typename
...on Category {
count
description
id
name
slug
url
}
...on GenericCategory {
taxonomy
customPostCount
customPosts {
__typename
...on CustomPost {
id
title
}
}
}
}
}커스텀 포스트에 연결된 카테고리 조회
GenericCustomPost 타입에는 categories 필드가 있어, 커스텀 포스트에 추가된 커스텀 카테고리를 조회할 수 있습니다.
query {
customPosts(
filter: { customPostTypes: "product" }
) {
__typename
... on GenericCustomPost {
categories(taxonomy: "product-cat") {
__typename
id
name
taxonomy
}
}
}
}카테고리로 커스텀 포스트 필터링
지정한 카테고리를 가진 커스텀 포스트를 조회하려면 입력값 filter.categories를 사용할 수 있습니다.
query {
customPostsByCatIDs: customPosts(
filter: {
categories: {
includeBy: {
ids: [26, 28]
}
taxonomy: "product-cat"
}
}
) {
id
title
}
customPostsByCatSlugs: customPosts(
filter: {
categories: {
includeBy: {
slugs: ["news", "sports"]
}
taxonomy: "product-cat"
}
}
) {
id
title
}
}커스텀 포스트에 카테고리 설정
뮤테이션:
mutation {
setCategoriesOnCustomPost(
input: {
id: 1499,
categoryIDs: [2, 5]
taxonomy: "cat-taxonomy"
}
) {
status
errors {
__typename
... on ErrorPayload {
message
}
}
customPostID
customPost {
categories(taxonomy: "cat-taxonomy") {
id
}
categoryNames(taxonomy: "cat-taxonomy")
}
}
}중첩 뮤테이션:
mutation {
customPost(by: { id: 1499 }) {
setCategories(
input: {
categoryIDs: [2, 5]
taxonomy: "cat-taxonomy"
}
) {
status
errors {
__typename
... on ErrorPayload {
message
}
}
customPostID
customPost {
categories(taxonomy: "cat-taxonomy") {
id
}
categoryNames(taxonomy: "cat-taxonomy")
}
}
}
}커스텀 카테고리 생성, 업데이트 및 삭제
이 쿼리는 커스텀 some-cat-taxonomy 카테고리의 카테고리 텀을 생성, 업데이트, 삭제합니다.
mutation CreateUpdateDeleteCategories {
createCategory(input: {
taxonomy: "some-cat-taxonomy",
name: "Some name"
slug: "Some slug"
description: "Some description"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
category {
...CategoryData
}
}
updateCategory(input: {
id: 1
taxonomy: "some-cat-taxonomy"
name: "Some updated name"
slug: "Some updated slug"
description: "Some updated description"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
category {
...CategoryData
}
}
deleteCategory(input: {
id: 1
taxonomy: "some-cat-taxonomy"
}) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
}
}
fragment CategoryData on Category {
id
name
slug
description
parent {
id
}
}