Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Comment déprécier les blocs Gutenberg

15

L’un des problèmes les plus courants liés à la mise à jour d’un thème ou d’un plugin avec des blocs Gutenberg est que la modification du code de bloc cassera toutes les publications existantes utilisant ce bloc. Heureusement, WordPress propose une solution ; un moyen de déprécier les blocs. Dans cet article, nous verrons comment procéder.

Si vous avez déjà travaillé avec le développement de blocs, vous connaissez probablement cette erreur de bloc lorsque vous avez ajouté un bloc, puis modifié la savefonction ultérieurement.

Comment déprécier les blocs Gutenberg

Cela se produit parce que WordPress compare le bloc enregistré dans la base de données avec le code actuel dans la savefonction de votre bloc, et ils ne correspondent pas. WordPress n’est pas en mesure de combler la différence. Dans la plupart des cas, vous pouvez cliquer sur les trois points du bloc et choisir «Tenter la récupération du bloc ». Si les modifications apportées à la savefonction étaient minimes (par exemple, un changement de classe), WordPress est en mesure de restaurer le bloc. Dans le pire des cas, vous d besoin de cliquer sur "Convertir en HTML" et vous perdrez la editfonctionnalité de votre bloc. Évidemment, nous ne pouvons pas nous attendre à ce que les utilisateurs de notre code de bloc trouvent manuellement tous les messages utilisant ce bloc et effectuent ces étapes pour chacun.

Donc, avant de mettre à jour la savefonction, nous ajouterons du code pour indiquer à WordPress comment gérer l’ancien contenu qui a été enregistré avec l’ancienne savefonction.

Entrons dans le code !

C’est en fait assez simple. En bref, ce que nous devons faire est; ajouter une deprecatedpropriété à l’ registerBlockType()appel de fonction. Cette propriété attend un tableau. Cela signifie que vous pouvez déprécier un bloc plusieurs fois, en fournissant plusieurs entrées dans le tableau. Chaque amortissement est défini comme un objet détenant la attributespropriété complète et la (ancienne) savefonction.

En d’autres termes, vous définissez une deprecatedpropriété comme un tableau, puis vous y copiez votre bloc attributeset votre savefonction. Vous devrez inclure des attributs même si vous n’y modifiez rien dans la mise à jour. Vous n’avez pas besoin d’inclure la editfonction dans l’amortissement.

Allons-y dans un exemple plus pratique.

Supposons que notre code de bloc ressemble à ceci. La editfonction est exclue car nous n’avons pas besoin de la traiter dans l’amortissement.

Supposons ensuite que nous voulions apporter des modifications aux deux attributs et enregistrer et éviter de casser les blocs existants. Nous ajoutons la deprecatedpropriété et copions le tout attributeset saveen tant qu’élément de tableau dans celle-ci. Ensuite, nous sommes libres d’apporter des modifications à attributesou/et à savela fonction.

Avec ce code compilé, vous pouvez rechercher un article existant en utilisant l’ancien code de bloc, et vous ne devriez pas obtenir de code cassé !

WordPress déterminera que le bloc utilise notre code obsolète et chargera le contenu à l’aide du savecode obsolète. Une fois que vous avez apporté des modifications au bloc et mis à jour la publication, le bloc sera enregistré à l’aide de la nouvelle savefonction.

Amortissement plus avancé et lecture plus approfondie

L’exemple de code ci-dessus est la forme la plus basique d’amortissement. WordPress prend en charge davantage de fonctionnalités, telles que l’inclusion de migrate, supportset même l’attribution de constantes (pensez aux numéros de version) à votre code obsolète. Jetez un œil à la documentation de WordPress sur la dépréciation des blocs.

Source d’enregistrement: awhitepixel.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More