Consultar datos de WordPress
Consultar datos de WordPressCategorías de entrada

Categorías de entrada

Estos son ejemplos de consultas para obtener datos de categorías de entrada.

Obtener categorías

Lista de categorías de entrada, ordenándolas por nombre, y mostrando su recuento de entradas:

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

Todas las categorías en una entrada:

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

Nombres de categorías en entradas:

query {
  posts {
    id
    title
    categoryNames
  }
}

Una lista de categorías predefinidas:

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

Filtrar categorías por nombre:

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

Contar resultados de categorías:

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

Paginar categorías:

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

Solo categorías de nivel superior, y 2º nivel de hijas:

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

Obtener valores meta:

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

Establecer categorías en una entrada

Mutación:

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

Mutación anidada:

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

Crear, actualizar y eliminar una categoría de entrada

Esta consulta crea, actualiza y elimina términos de categoría de entrada:

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
  }
}