Truy vấn dữ liệu WordPress
Truy vấn dữ liệu WordPressTag bài viết

Tag bài viết

Đây là các ví dụ về queries để lấy dữ liệu tag bài viết.

Lấy danh sách tag

Danh sách tag bài viết, sắp xếp theo tên và hiển thị số lượng bài viết:

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

Tất cả tag trong một bài viết:

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

Tên tag trong các bài viết:

query {
  posts {
    id
    title
    tagNames
  }
}

Danh sách tag được định sẵn:

query {
  postTags(filter: { ids: [66, 70, 191] }) {
    id
    name
    url
  }
}

Lọc tag theo tên:

query {
  postTags(filter: { search: "oo" }) {
    id
    name
    url
  }
}

Đếm kết quả tag:

query {
  postTagCount(filter: { search: "oo" })
}

Phân trang tag:

query {
  postTags(
    pagination: {
      limit: 5,
      offset: 5
    }
  ) {
    id
    name
    url
  }
}

Lấy giá trị meta:

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

Gán tag cho bài viết

Mutation:

mutation {
  setTagsOnPost(
    input: {
      id: 1499, 
      tags: ["api", "development"]
    }
  ) {
    status
    errors {
      __typename
      ... on ErrorPayload {
        message
      }
    }
    postID
    post {
      tags {
        id
      }
      tagNames
    }
  }
}

Mutation lồng nhau:

mutation {
  post(by: { id: 1499 }) {
    setTags(
      input: {
        tags: ["api", "development"]
      }
    ) {
      status
      errors {
        __typename
        ... on ErrorPayload {
          message
        }
      }
      postID
      post {
        tags {
          id
        }
        tagNames
      }
    }
  }
}

Tạo, cập nhật và xóa tag bài viết

Query này tạo, cập nhật và xóa các term tag bài viết:

mutation CreateUpdateDeletePostTags {
  createPostTag(input: {
    name: "Some name"
    slug: "Some slug"
    description: "Some description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...PostTagData
    }
  }
 
  updatePostTag(input: {
    id: 1
    name: "Some updated name"
    slug: "Some updated slug"
    description: "Some updated description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...PostTagData
    }
  }
 
  deletePostTag(input: {
    id: 1
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
  }
}
 
fragment PostTagData on PostTag {
  id
  name
  slug
  description
}