⭐️ WordPress 6.6対応とバルクmutationを含むv3.0をリリース
Gato GraphQL v3.0 がリリースされました。新機能といくつかの破壊的変更が含まれています。変更の完全なリストは GitHub のリリースノート をご覧ください。
以下に最も重要なアップデートをまとめます。
WordPress 6.6との互換性を追加
Gato GraphQL 3.0 はすべてのブロックを再コンパイルし、WordPress 6.6との互換性を確保しました。(それ以前のバージョンでは、ブロックがJSエラーをスローします。)
バルクmutationフィールドを追加(スキーマ内のすべてのmutationに対応)
Gato GraphQL 3.0 は、スキーマ内のすべてのmutationに対して「バルク」mutationフィールドを追加し、複数のリソースを一度にmutateできるようにします。
たとえば、mutation createPosts(単一リソースのmutationは createPost)は複数の投稿を作成します:
mutation CreatePosts {
createPosts(inputs: [
{
title: "First post"
contentAs: {
html: "This is the content for the first post"
}
},
{
title: "Second post"
contentAs: {
html: "Here is another content, for another post"
}
excerpt: "The cup is within reach"
},
{
title: "Third post"
contentAs: {
html: "This is yet another piece of content"
},
authorBy: {
id: 1
},
status: draft
}
]) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
title
content
excerpt
author {
name
}
status
}
}
}バルクmutationは、WordPressサイトの管理における可能性を広げます。たとえば、以下のGraphQLクエリは createPosts(およびGato GraphQL PROが提供するMultiple Query Execution)を使用して投稿を複製します:
query ExportPostData
{
postsToDuplicate: posts {
rawTitle
rawContent
rawExcerpt
postInput: _echo(value: {
title: $__rawTitle
contentAs: {
html: $__rawContent
},
excerpt: $__rawExcerpt
})
@export(as: "postInputs", type: LIST)
@remove
}
}
mutation CreatePosts
@depends(on: "ExportPostData")
{
createPosts(inputs: $postInputs) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
post {
id
title
content
excerpt
}
}
}追加されたバルクmutationフィールドの一覧は以下のとおりです:
Root.addCommentToCustomPostsRoot.createCustomPostsRoot.createMediaItemsRoot.createPagesRoot.createPostsRoot.removeFeaturedImageFromCustomPostsRoot.replyCommentsRoot.setCategoriesOnPostsRoot.setFeaturedImageOnCustomPostsRoot.setTagsOnPostsRoot.updateCustomPostsRoot.updatePagesRoot.updatePostsComment.replyWithCommentsCustomPost.addComments
破壊的変更:WordPress v6.0以上が必須に
WordPress v6.6 をサポートするために、プラグイン内のブロックをWordPress v6.0+ をターゲットとして再コンパイルする必要がありました。
そのため、v3.0 以降、Gato GraphQLはWordPress v6.0 以上を必須とします。
破壊的変更:スキーマ設定ブロック「Payload Types for Mutations」の再設定が必要な場合あり
スキーマ設定ブロック「Payload Types for Mutations」に新しいオプション値「Do not use payload types for mutations (i.e. return the mutated entity)」が追加されました。これにより、内部データ構造が変更されています。
「Do not use payload types for mutations (i.e. return the mutated entity)」オプションを選択したスキーマ設定を作成している場合、v3.0 にアップグレードするとその選択値が失われます。スキーマ設定を編集して、このオプションを再度選択し、保存する必要があります。