⭐️ Wydana v3.0 z obsługą WordPress 6.6 i bulk mutations
Gato GraphQL v3.0 zostało wydane, zawierając nowe funkcje i kilka breaking changes. Sprawdź informacje o wydaniu na GitHub, aby zobaczyć pełną listę zmian.
Poniżej przedstawiono najważniejsze aktualizacje.
Dodano zgodność z WordPress 6.6
Gato GraphQL 3.0 przekompilowało wszystkie swoje bloki, aby zapewnić ich zgodność z WordPress 6.6. (W przypadku wszystkich poprzednich wersji bloki będą generować błąd JS.)
Dodano pola bulk mutation (dla wszystkich mutations w schemacie)
Gato GraphQL 3.0 dodaje pola bulk mutation dla wszystkich mutations w schemacie, umożliwiając mutowanie wielu zasobów jednocześnie.
Na przykład mutation createPosts (mutation dla pojedynczego zasobu to createPost) utworzy wiele postów:
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
}
}
}Bulk mutations otwierają nowe możliwości zarządzania naszą witryną WordPress. Na przykład poniższe zapytanie GraphQL używa createPosts (oraz Multiple Query Execution, dostarczonego przez Gato GraphQL PRO) do duplikowania postów:
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
}
}
}Lista dodanych pól bulk mutation jest następująca:
Root.addCommentToCustomPostsRoot.createCustomPostsRoot.createMediaItemsRoot.createPagesRoot.createPostsRoot.removeFeaturedImageFromCustomPostsRoot.replyCommentsRoot.setCategoriesOnPostsRoot.setFeaturedImageOnCustomPostsRoot.setTagsOnPostsRoot.updateCustomPostsRoot.updatePagesRoot.updatePostsComment.replyWithCommentsCustomPost.addComments
Breaking change: Wymagany jest co najmniej WordPress v6.0
Aby obsługiwać WordPress v6.6, bloki w pluginie musiały zostać przekompilowane z docelową wersją WordPress v6.0+.
Dlatego począwszy od v3.0, Gato GraphQL wymaga co najmniej WordPress v6.0.
Breaking change: Blok konfiguracji schematu "Payload Types for Mutations" może wymagać ponownej konfiguracji
Do bloku konfiguracji schematu "Payload Types for Mutations" dodano nową wartość opcji: "Do not use payload types for mutations (i.e. return the mutated entity)". Z tego powodu wewnętrzna struktura danych uległa zmianie.
Jeśli utworzyłeś konfigurację schematu z zaznaczoną opcją "Do not use payload types for mutations (i.e. return the mutated entity)", po aktualizacji do v3.0 ta wartość wyboru zostanie utracona. Musisz edytować konfigurację schematu, ponownie wybrać tę opcję i zapisać.