2 votes

Comment désactiver définitivement les messages "Ce bloc contient du contenu invalide" de Wordpress Gutenburg ?

Lorsque je crée des blocs HTML personnalisés dans Wordpress Gutenburg, il continue à transformer mon code en messages ennuyeux "ce bloc contient du contenu non valide". Wordpress pense qu'il est invalide parce que j'utilise ces blocs pour ouvrir et fermer des div's, mais ce n'est pas le cas, c'est un code parfaitement légitime. Et le fait que Wordpress affiche ces messages partout me gêne vraiment dans mon travail et donne une mauvaise impression au client.

Existe-t-il un moyen, par exemple un bout de code que je peux ajouter dans mon functions.php, pour désactiver définitivement ces messages ?

0voto

user9 Points 325

Le message apparaît, lorsque gutenberg reçoit des attributs de bloc différents de ceux qu'il attend dans la fonction d'édition. Il s'agit d'un problème lié aux attributs de vos blocs. Vérifiez les attributs et vérifiez s'ils sont tous définis.

Une autre solution consiste à créer un bloc dynamique

Les blocs dynamiques sont des blocs qui peuvent modifier leur contenu même si le fichier l'article n'est pas enregistré. Un exemple tiré de WordPress lui-même est le bloc latest posts. Ce bloc se met à jour partout où il est utilisé lorsqu'un nouvel article est publié. article est publié.

Le bloc dynamique ne vérifie pas la transformabilité de l'enregistrement à l'édition.

Si vous affichez le numéro de votre bloc save y edit ainsi que des fonctions attributes je peux examiner plus en profondeur l'erreur.

0voto

Vortac Points 408

Je ne suis pas sûr d'avoir bien compris, mais si vous essayez de créer un bloc personnalisé qui produit une ouverture <div> et un autre bloc qui produit une balise de fermeture </div> c'est-à-dire pour être utilisé comme un élément d'habillage pour un ou plusieurs autres blocs - il ne s'agira pas d'un code légitime au sens de l'éditeur de blocs. Vous devez fournir un élément html valide (qui, dans votre cas, est constitué des deux balises <div></div> ) pour votre méthode de sauvegarde - pour être rendu correctement en tant que html valide sur le frontend et pour être parseable à nouveau comme un composant React / Block dans l'éditeur (cela pourrait être particulièrement pourquoi il jette une erreur dans votre cas, vous avez besoin d'un élément enveloppant pour un composant React / bloc Gutenberg - juste un simple tag html ne fonctionnera pas). Par conséquent, vous auriez besoin d'avoir la balise d'ouverture et de fermeture dans un seul bloc.

En supposant qu'une sorte de bloc d'emballage est ce que vous voulez réaliser, vous pouvez soit.. :

a) Ajouter les divs enveloppants de manière dynamique au bloc lors du rendu du bloc sur le front-end via PHP - puis la balise <div></div> ne fera pas partie de votre chaîne sauvegardée dans la base de données (cela ne fonctionnera que pour les blocs uniques que vous voulez envelopper).

b) Créer un bloc d'encapsulation personnalisé. Cela peut être très simple, il suffit d'envoyer le fichier de sortie de votre <div></div> et permettre à d'autres blocs d'être insérés comme des blocs internes dans l'éditeur (vous pouvez envelopper autant de blocs que vous voulez... si cela reste gérable dans l'éditeur).

Des noms de classe personnalisés pourraient être ajoutés pour les deux solutions.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X