Requêter les données WordPress
Requêter les données WordPressCatégories de publication

Catégories de publication

Voici des exemples de requêtes pour récupérer des données de catégories de publication.

Récupérer des catégories

Liste des catégories de publication, triées par nom et affichant leur nombre de publications :

query {
  postCategories(
    sort: { order: ASC, by: NAME }
    pagination: { limit: 50 }
  ) {
    id
    name
    url
    postCount
  }
}

Toutes les catégories d'une publication :

query {
  post(by: { id: 1 }) {
    categories {
      id
      name
      url
    }
  }
}

Noms des catégories dans les publications :

query {
  posts {
    id
    title
    categoryNames
  }
}

Une liste de catégories prédéfinies :

query {
  postCategories(filter: { ids: [2, 5] }) {
    id
    name
    url
  }
}

Filtrer les catégories par nom :

query {
  postCategories(filter: { search: "rr" }) {
    id
    name
    url
  }
}

Compter les résultats de catégories :

query {
  postCategoryCount(filter: { search: "rr" })
}

Paginer les catégories :

query {
  postCategories(
  	pagination: {
  	  limit: 3,
  	  offset: 3
  	}
  ) {
    id
    name
    url
  }
}

Uniquement les catégories de niveau supérieur et le 2e niveau d'enfants :

{
  postCategories(pagination: { limit: 50 }, filter: { parentID: 0 }) {
    ...CatProps
    children {
      ...CatProps
      children {
        ...CatProps
      }
    }
  }
}
 
fragment CatProps on PostCategory {
  id
  name
  parent {
    id
    name
  }
  childNames
  childCount
}

Récupérer des valeurs meta :

query {
  postCategories(
  	pagination: { limit: 5 }
  ) {
    id
    name
    metaValue(
      key: "someKey"
    )
  }
}

Définir des catégories sur une publication

Mutation :

mutation {
  setCategoriesOnPost(
    input: {
      id: 1499, 
      categoryIDs: [2, 5]
    }
  ) {
    status
    errors {
      __typename
      ... on ErrorPayload {
        message
      }
    }
    postID
    post {
      categories {
        id
      }
      categoryNames
    }
  }
}

Mutation imbriquée :

mutation {
  post(by: { id: 1499 }) {
    setCategories(
      input: {
        categoryIDs: [2, 5]
      }
    ) {
      status
      errors {
        __typename
        ... on ErrorPayload {
          message
        }
      }
      postID
      post {
        categories {
          id
        }
        categoryNames
      }
    }
  }
}

Créer, mettre à jour et supprimer une catégorie de publication

Cette requête crée, met à jour et supprime des termes de catégorie de publication :

mutation CreateUpdateDeletePostCategories {
  createPostCategory(input: {
    name: "Some name"
    slug: "Some slug"
    description: "Some description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...PostCategoryData
    }
  }
 
  updatePostCategory(input: {
    id: 1
    name: "Some updated name"
    slug: "Some updated slug"
    description: "Some updated description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...PostCategoryData
    }
  }
 
  deletePostCategory(input: {
    id: 1
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
  }
}
 
fragment PostCategoryData on PostCategory {
  id
  name
  slug
  description
  parent {
    id
  }
}