Requêter les données WordPressÉtiquettes personnalisées
Étiquettes personnalisées
Lire la suite dans le guide Travailler avec les étiquettes personnalisées.
Voici des exemples de requêtes pour récupérer des données de taxonomies d'étiquettes personnalisées.
Taxonomies non mappées au schéma
Récupérer des étiquettes avec la taxonomie "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
}
}
}
}
}Récupérer les étiquettes associées à une entrée personnalisée
Le type GenericCustomPost possède le champ tags, pour récupérer les étiquettes personnalisées ajoutées à l'entrée personnalisée :
query {
customPosts(
filter: { customPostTypes: "product" }
) {
__typename
... on GenericCustomPost {
tags(taxonomy: "product-tag") {
__typename
id
name
taxonomy
}
}
}
}Filtrer les entrées personnalisées par étiquette
Pour récupérer les entrées personnalisées avec des étiquettes données, nous pouvons utiliser l'input 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
}
}Définir des étiquettes sur une entrée personnalisée
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")
}
}
}Mutation imbriquée :
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")
}
}
}
}Créer, mettre à jour et supprimer une étiquette personnalisée
Cette requête crée, met à jour et supprime des termes d'étiquette pour une étiquette personnalisée 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
}