博客
⭐️ 发布 v5.0,新增为自定义文章分配标签和分类的 mutation,以及多项改进
Gato GraphQL v5.0 已正式发布。完整的变更列表请参阅 GitHub 上的发布说明。
从本版本起,WordPress 的最低版本已提升至 v6.1。
以下是最重要的更新内容。
破坏性变更
- 将 WordPress 最低版本提升至 6.1。
使用空数组过滤数据时不返回任何结果
以下 GraphQL query 按 ID 过滤文章:
query FilterPostsByIDs(
$ids: [ID!]
) {
posts(filter: { ids: $ids }) {
title
}
}此前,当变量 $ids 传入空数组时:
{
"ids": []
}……输入 filter.ids 会被忽略,字段会返回所有结果。
现在,传入空数组表示「不获取任何结果」。
如需忽略过滤器输入,请改为传入 null。
同样的行为适用于所有接受 filter.ids 输入的字段:
categoriescommentscustomPoststagsusers- 等
改进
- 新增字段
isGutenbergEditorEnabled - 支持文章标签/分类 mutation 中的其他分类法(不仅限于
post_tag和category) - 在
PostTag和PostCategory类型中也新增了 taxonomy 字段 - 在
GenericCustomPost上新增featuredImage字段
新增为自定义文章分配自定义标签/分类的 mutation
现在可以执行 mutation 来为自定义文章分配标签和分类:
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")
}
}
}新增启用/禁用日志的设置选项
特定项目(例如:在 PRO 中执行自动化时)的完整 GraphQL 响应可记录到文件 wp-content/gatographql/logs/info.log 中。
Settings > Plugin Configuration > General 中新增了 Enable Logs? 选项,用于启用这些日志的输出(默认为 false):

Application password 认证失败时:在 GraphQL 响应中显示错误
如果使用 Application passwords 对 GraphQL 端点进行用户认证,且认证失败,错误消息现在将显示在 GraphQL 响应中:
{
"errors": [
{
"message": "Application Password authentication error: The provided password is an invalid application password."
}
],
"data": {
"me": null
}
}新增预定义 persisted query
新增了若干 persisted query:
- [PRO] 从 WordPress RSS 订阅导入文章并用 ChatGPT 重写其内容
- [PRO] 从 WordPress RSS 订阅导入新文章
- [PRO] 从 URL 将 HTML 作为新文章导入 WordPress
错误修复
- 修复字段
blocks、blockDataItems和blockFlattenedDataItems在文章无内容时报错的问题