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