Blog

⭐️ Phát hành v5.0 với các mutations mới để gán thẻ và danh mục cho custom posts, cùng nhiều cải tiến

Leonardo Losoviz
Bởi Leonardo Losoviz ·

Gato GraphQL v5.0 đã được phát hành. Xem ghi chú phát hành trên GitHub để biết danh sách đầy đủ các thay đổi.

Bắt đầu từ phiên bản này, phiên bản WordPress tối thiểu được nâng lên v6.1.

Dưới đây là các cập nhật quan trọng nhất.

Breaking changes

  • Phiên bản WordPress tối thiểu được nâng lên 6.1.

Trả về không có kết quả khi lọc dữ liệu bằng mảng rỗng

GraphQL query này lọc các bài viết theo ID:

query FilterPostsByIDs(
  $ids: [ID!]
) {
  posts(filter: { ids: $ids }) {
    title
  }
}

Trước đây, khi truyền mảng rỗng vào biến $ids:

{
  "ids": []
}

...input filter.ids sẽ bị bỏ qua, và trường đó sẽ trả về tất cả kết quả.

Bây giờ, truyền mảng rỗng có nghĩa là "không lấy kết quả nào".

Để bỏ qua filter input, hãy truyền null thay thế.

Hành vi tương tự áp dụng cho tất cả các trường chấp nhận input filter.ids:

  • categories
  • comments
  • customPosts
  • tags
  • users
  • v.v.

Cải tiến

  • Thêm trường isGutenbergEditorEnabled
  • Hỗ trợ các taxonomy bổ sung cho mutations trên post tags/categories (không chỉ post_tagcategory)
  • Thêm trường taxonomy cho cả kiểu PostTagPostCategory
  • Thêm trường featuredImage trên GenericCustomPost

Thêm mutations để gán custom tags/categories cho custom posts

Bây giờ bạn có thể thực thi các mutations để gán thẻ và danh mục cho custom posts:

mutation SetTagsAndCategoriesOnCustomPost(
  $customPostId: ID!
  $tagIDs: [ID!]!
  $categoryIDs: [ID!]!
  $append: Boolean
) {
  setTagsOnCustomPost(input: {
    id: $customPostId
    tagsBy: {
      ids: $tagIDs
    }
    taxonomy: "some-tag-taxonomy"
    append: $append
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      tags(taxonomy: "some-tag-taxonomy") {
        id
      }
      tagNames(taxonomy: "some-tag-taxonomy")
    }
  }
 
  setCategoriesOnCustomPost(input: {
    id: $customPostId
    categoriesBy: {
      ids: $categoryIDs
    }
    taxonomy: "some-category-taxonomy"
    append: $append
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      categories(taxonomy: "some-category-taxonomy") {
        id
      }
      categoryNames(taxonomy: "some-category-taxonomy")
    }
  }
}

Thêm tùy chọn Settings để bật/tắt logs

Toàn bộ phản hồi GraphQL cho các mục cụ thể (ví dụ: khi thực hiện automation trong PRO) có thể được ghi vào file wp-content/gatographql/logs/info.log.

Một tùy chọn mới Enable Logs? trong Settings > Plugin Configuration > General đã được thêm vào, để bật việc in các logs này (mặc định là false):

Tùy chọn Enable Logs? trong Settings

Xác thực Application password thất bại: Hiển thị lỗi trong phản hồi GraphQL

Nếu sử dụng Application passwords để xác thực người dùng với endpoint GraphQL, và quá trình xác thực thất bại, thông báo lỗi bây giờ sẽ được hiển thị trong phản hồi GraphQL:

{
  "errors": [
    {
      "message": "Application Password authentication error: The provided password is an invalid application password."
    }
  ],
  "data": {
    "me": null
  }
}

Thêm các persisted queries được định sẵn

Một số persisted queries đã được thêm vào:

  • [PRO] Nhập bài viết từ WordPress RSS feed và viết lại nội dung bằng ChatGPT
  • [PRO] Nhập các bài viết mới từ WordPress RSS feed
  • [PRO] Nhập HTML từ các URL dưới dạng bài viết mới trong WordPress

Sửa lỗi

  • Trên các trường blocks, blockDataItems, và blockFlattenedDataItems, tránh lỗi khi bài viết không có nội dung

Đăng ký nhận bản tin của chúng tôi

Cập nhật tất cả những điều mới từ Gato GraphQL.