✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como depreciar os blocos do Gutenberg

15

Um dos problemas mais comuns com a atualização de um tema ou plugin com blocos do Gutenberg é que fazer alterações no código do bloco quebrará todas as postagens existentes usando esse bloco. Felizmente o WordPress oferece uma solução; uma maneira de depreciar blocos. Neste post veremos como fazer isso.

Se você já trabalhou com desenvolvimento de blocos antes, provavelmente está familiarizado com esse erro de bloco quando adiciona um bloco e depois altera a savefunção.

Como depreciar os blocos do Gutenberg

Isso acontece porque o WordPress compara o bloco salvo no banco de dados com o código atual na savefunção do seu bloco e eles não correspondem. O WordPress não é capaz de corrigir a diferença. Na maioria dos casos, você pode clicar nos três pontos do bloco e escolher “Tentativa de recuperação do bloco". Se as alterações feitas na savefunção foram pequenas (por exemplo, uma mudança de classe), o WordPress é capaz de restaurar o bloco. d precisar clicar em “Converter para HTML” e você perderá a editfuncionalidade do seu bloco. Obviamente não podemos esperar que os usuários do nosso código de bloco encontrem manualmente todos os posts usando este bloco e executem estes passos para cada um.

Portanto, antes de fazer atualizações na savefunção, adicionaremos algum código para informar ao WordPress como lidar com o conteúdo antigo que foi salvo com a savefunção antiga.

Vamos ao código!

Na verdade é bem simples. Em suma, o que precisamos fazer é; adicione uma deprecatedpropriedade à registerBlockType()chamada de função. Esta propriedade espera uma matriz. Isso significa que você pode descontinuar um bloco várias vezes, fornecendo várias entradas na matriz. Cada depreciação é definida como um objeto que contém a attributespropriedade completa e a função (antiga) save.

Em outras palavras, você define uma deprecatedpropriedade como um array e então copia seus blocos attributese savefunções nele. Você precisará incluir atributos mesmo que não esteja alterando nada neles na atualização. Você não precisa incluir a editfunção na depreciação.

Vamos fazer isso em um exemplo mais prático.

Suponha que nosso código de bloco seja algo assim. A editfunção é excluída, pois não precisamos lidar com ela na depreciação.

Então vamos supor que queremos fazer alterações em ambos os atributos e salvar e evitar quebrar os blocos existentes. Adicionamos a deprecatedpropriedade e copiamos o elemento inteiro attributese savecomo um elemento de matriz nele. Então, somos livres para fazer quaisquer alterações attributese/ou savefuncionar.

Com este código compilado, você pode encontrar uma postagem existente usando o código de bloco antigo e não deve obter nenhum código quebrado!

O WordPress descobrirá que o bloco está usando nosso código obsoleto e carregará o conteúdo usando o savecódigo obsoleto. Depois de fazer alterações no bloco e atualizar a postagem, o bloco será salvo usando a nova savefunção.

Depreciação mais avançada e leitura adicional

O exemplo de código acima é a forma mais básica de depreciação. O WordPress suporta mais funcionalidades, como incluir migratee supportsaté atribuir constantes (pense em números de versão) ao seu código obsoleto. Dê uma olhada na documentação do WordPress sobre depreciação de blocos.

Fonte de gravação: awhitepixel.com

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação