การ Query ข้อมูล WordPressหมวดหมู่แบบกำหนดเอง
หมวดหมู่แบบกำหนดเอง
อ่านเพิ่มเติมในคู่มือ การทำงานกับหมวดหมู่แบบกำหนดเอง
ต่อไปนี้คือตัวอย่าง queries สำหรับดึงข้อมูล taxonomy ของหมวดหมู่แบบกำหนดเอง
Taxonomies ที่ยังไม่ได้ mapping กับ schema
ดึงหมวดหมู่ที่มี taxonomy "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
}
}
}
}
}การดึงหมวดหมู่ที่เชื่อมโยงกับ custom post
ประเภท GenericCustomPost มีฟิลด์ categories สำหรับดึงหมวดหมู่แบบกำหนดเองที่เพิ่มลงใน custom post:
query {
customPosts(
filter: { customPostTypes: "product" }
) {
__typename
... on GenericCustomPost {
categories(taxonomy: "product-cat") {
__typename
id
name
taxonomy
}
}
}
}การกรอง custom posts ตามหมวดหมู่
เพื่อดึง custom posts ที่มีหมวดหมู่ที่กำหนด สามารถใช้ input 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
}
}การกำหนดหมวดหมู่บน custom post
Mutation:
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")
}
}
}Nested mutation:
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")
}
}
}
}การสร้าง อัปเดต และลบหมวดหมู่แบบกำหนดเอง
Query นี้สร้าง อัปเดต และลบ category terms สำหรับหมวดหมู่ 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
}
}Prev
Next