⭐️ Выпущена v3.0 с поддержкой WordPress 6.6 и bulk mutations
Выпущена Gato GraphQL v3.0, содержащая новые функции и несколько критических изменений. Ознакомьтесь с примечаниями к выпуску на GitHub для получения полного списка изменений.
Ниже приведены наиболее важные обновления.
Добавлена совместимость с WordPress 6.6
Gato GraphQL 3.0 перекомпилировал все свои блоки, чтобы обеспечить их совместимость с WordPress 6.6. (Во всех предыдущих версиях блоки будут выдавать JS-ошибку.)
Добавлены поля bulk mutation (для всех mutations в схеме)
Gato GraphQL 3.0 добавляет поля «bulk» mutation для всех mutations в схеме, позволяя нам изменять несколько ресурсов одновременно.
Например, 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
}
}
}Bulk mutations открывают новые возможности для управления сайтом WordPress. Например, следующий GraphQL-запрос использует createPosts (и Multiple Query Execution, предоставляемый Gato GraphQL PRO) для дублирования записей:
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
}
}
}Список добавленных полей bulk 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 это значение будет потеряно. Необходимо отредактировать конфигурацию схемы, выбрать этот параметр снова и сохранить.