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