Blog

⭐️ Lançada v3.0 com suporte ao WordPress 6.6 e bulk mutations

Leonardo Losoviz
Por Leonardo Losoviz ·

Gato GraphQL v3.0 foi lançada, contendo novas funcionalidades e algumas breaking changes. Confira as notas de lançamento no GitHub para a lista completa de alterações.

Abaixo estão as atualizações mais importantes.

Adicionada compatibilidade com WordPress 6.6

Gato GraphQL 3.0 recompilou todos os seus blocos para torná-los compatíveis com WordPress 6.6. (Para todas as versões anteriores, os blocos gerarão um erro JS.)

Adicionados campos de bulk mutation (para todas as mutations do schema)

Gato GraphQL 3.0 adiciona campos de bulk mutation para todas as mutations do schema, permitindo-nos mutar múltiplos recursos.

Por exemplo, a mutation createPosts (a mutation de recurso único é createPost) criará múltiplos posts:

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
    }
  }
}

As bulk mutations abrem possibilidades para gerenciar nosso site WordPress. Por exemplo, a seguinte query GraphQL usa createPosts (e Multiple Query Execution, fornecido pelo Gato GraphQL PRO) para duplicar posts:

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
    }
  }
}

A lista dos campos de bulk mutation adicionados é a seguinte:

  • Root.addCommentToCustomPosts
  • Root.createCustomPosts
  • Root.createMediaItems
  • Root.createPages
  • Root.createPosts
  • Root.removeFeaturedImageFromCustomPosts
  • Root.replyComments
  • Root.setCategoriesOnPosts
  • Root.setFeaturedImageOnCustomPosts
  • Root.setTagsOnPosts
  • Root.updateCustomPosts
  • Root.updatePages
  • Root.updatePosts
  • Comment.replyWithComments
  • CustomPost.addComments

Breaking change: Requer no mínimo WordPress v6.0

Para suportar WordPress v6.6, os blocos do plugin precisaram ser recompilados tendo como alvo o WordPress v6.0+.

Portanto, a partir da v3.0, Gato GraphQL requer no mínimo WordPress v6.0.

Breaking change: O bloco de configuração do schema "Payload Types for Mutations" pode precisar ser reconfigurado

Ao bloco de configuração do schema "Payload Types for Mutations" foi adicionado um novo valor de opção: "Do not use payload types for mutations (i.e. return the mutated entity)". Por esse motivo, sua estrutura de dados interna foi alterada.

Se você criou uma configuração de schema com a opção "Do not use payload types for mutations (i.e. return the mutated entity)" selecionada, após a atualização para v3.0 esse valor de seleção será perdido. Você precisa editar a configuração do schema, selecionar essa opção novamente e salvar.


Assine nossa newsletter

Fique por dentro de todas as atualizações do Gato GraphQL.