Comment rendre votre plug in compatible avec Gutenberg: Partie 2 (API de barre latérale)

essayez de rendre le plug in compatible avec Gutenberg, pouvez devriez prendre deux chemins, selon la fonctionnalité du plug in et la façon dont il fournit ses fonctionnalités aux utilisateurs. Dans la première partie de cette mini série, nous explorons lamp;rsquoAPI Gutenberg Block, dont la plupart des plug ins ont besoin pour la compatibilité Gutenberg. Cette fois, nous explorerons une autre partie du puzzle Gutenberg: lamp;rsquoAPI Gutenberg debar. Pour assurer damp;rsquoêtre sur la même page, il y a une explication rapide: lamp;rsquoAPI Block de Gutenberg est très large et permet de construire presque tout en blocs, mais parfois ce namp;rsquoest pas suffisant. Damp;rsquoautre part, lamp;rsquoAPI de barre latérale permet au plug in damp;rsquoenregistrer la barre latérale, où le plug in peut étendre sa fonctionnalité au delà du bloc. La barre latérale est similaire à lamp;rsquoinspecteur de bloc.

Comment rendre votre plug in WordPress compatible avec l’api Gutenberg Mastering debar cliquez sur Twitter par exemple, l’api Gutenberg debar actuellement utilisée démontrée par yoast SEO:
Où puis je utiliser lamp;rsquoAPI de la barre latérale? Nous avons récemment travaillé dur pour préparer notre plug in, WP Product Review, pour Gutenberg. Lamp;rsquoexamen des produits du WP utilise des métachamps pour ajouter des données damp;rsquoaudit aux messages que nous namp;rsquoavons pas pu convertir en blocs pour diverses raisons de compatibilité avec les versions précédentes. Nous avons donc utilisé lamp;rsquoAPI debar. Voici les blocs plug in de lamp;rsquoéditeur classique: Voici comment nous avons intégré lamp;rsquoexamen des produits WP dans lamp;rsquoéditeur Gutenberg: Lorsque lamp;rsquoutilisateur indique quamp;rsquoun message est un commentaire avec un commutateur de barre latérale, il sera en mesure de configurer tout le contenu associé à la boîte de commentaires à partir des options de barre latérale.
Lamp;rsquoexamen du produit Wp est lamp;rsquoun des exemples disponibles pour lamp;rsquoAPI debar. Un autre bon exemple est drop it plugin C
Champ de lamp;rsquoélément objet dans lamp;rsquoAPI rest.
Cette fonction namp;rsquoest utilisée que pour afficher nos valeurs dans lamp;rsquoAPI rest. Nous devons maintenant ajouter une méthode pour mettre à jour les métachamps en utilisant lamp;rsquoAPI rest. Le code suivant ajoute notre chemin personnalisé à l’api WordPress rest sous Hello Gutenberg V1 update Meta : * *
Enregistrer Hello Gutenberg metabox pour lamp;rsquoAPI rest
*
Hello _ Gutenberg API posts Meta Field () {
Register _ rest Routing

« méthode» = amp;gt « publication»,
« callback» = amp;gt « Hello _ Gutenberg Update callback»,

« sanitize _ callback» = amp;gt « absent»,
()
()
()
)
}
Ajouter _ action (amp;lsquorest API initamp;rsquo, amp;lsquoHello Gutenberg API posts Meta Fieldamp;rsquo)
* *
Hello Gutenberg rest API Callback for Gutenberg
*
Hello _ Gutenberg Update Callback ($Data) {
Retourner la mise à jour _ post Meta ($data [amp;lsquoID], $data [amp;lsquo key], $data [amp;lsquovalue])
Ce chemin API rest est utilisé pour modifier les métachamps dans la barre latérale Gutenberg. Vous pouvez en savoir plus sur l’api WordPress rest et sur la façon d’enregistrer les chemins personnalisés ici.
Encore une fois, si voulez savoir ce qu’est l’api WordPress rest et comment commencer, pouvez lire notre blog: l’api WordPress rest: qu’est ce que c’est et comment commencer à l’utiliser. Allez en haut et ajoutez des blocs de bordure à Gutenberg commençons par le Code de bordure du modèle Gutenberg:
Bibliothèque de blocs internes
*
Constante uwp. I18n
Constante {fragment} = WP. Éléments
Coût
Module de barre latérale,
Barre latérale du plug in autres menus voix,
= WP. Modifier les messages
Constante {registerplugin} = WP. Plug in
Composant constant = () = amp;gt

{ 1ch00ffff} { 1ch00ffff} la chaudière Gutenberg

amp;ltinput type=amp;quottextamp;quot name=amp;quothello_gutenberg_fieldamp;quot value=amp;quot (Hello world!)}
)
Registerplugin (amp;lsquoGutenberg Boilerplateamp;rsquo
Icône:
Rendu: composants,
}) Ceci insère une barre latérale très simple dans lamp;rsquoéditeur
Love used in the previous post. Le plug in damp;rsquoenregistrement enregistre le plug in, pas le bloc damp;rsquoenregistrement. Jusquamp;rsquoà présent, ajouter des contrôles notre barre latérale namp;rsquoest quamp;rsquoune fonction de composant, mais comme nous allons utiliser la méthode du cycle de vie de React, nous allons la convertir en composant React comme suit: la classe Hello _ Gutenberg étend le composant {
Render () {
Retour (
(Hello Gutenberg)}

(Hello world!)}
()
}
}
Registerplugin (amp;lsquoCiao Gutenbergamp;rsquo)
Icône:
Rendu: Hello _ Gutenberg,
}) Cela permettra aux barres latérales damp;rsquoutiliser du texte simple. Maintenant, ajoutons les champs à la barre latérale. Il devrait ressembler à: classe Hello _ Gutenberg extension Component {
Render () {
Retour (
(Hello Gutenberg)}

()
}
} ceci ajoutera un champ damp;rsquoentrée simple dans la barre latérale et il ne fonctionnera pas du tout. Il nous reste maintenant deux tâches: afficher les valeurs des métachamps. Permet de mettre à jour la valeur du métachamp à partir de la barre latérale. Voir les métadonnées pour récupérer les métadonnées, nous utiliserons WP. Apifetch. Apifetch est une bibliothèque damp;rsquoutilitaires qui nous permet damp;rsquoémettre des demandes damp;rsquoapi rest. Nous utiliserons apifetch dans React Component Builder comme suit: class Hello _ Gutenberg extension Component {
Constructeur () {
Super (…) paramètre
Celui là. État = {
Clé:
Valeur:
}
WP. Apifetch ({Path: ` WP v2 posts ${this.props.postid} amp;lsquo, Method:amp;rsquo get amp;lsquo}). Alors (
(données) = amp;gt
Voilà. Définir lamp;rsquoétat
Valeur: date. Yuan Bar _ Bonjour _ Gutenberg Field
})
Retourner les données
},
(erreur) = {
Erreur retournée
}
)
}
Render () {
Retour (
(Hello Gutenberg)}

()
}
Premièrement, nous avons
Ou définir un état initial qui est essentiellement la clé et la valeur de notre métachamp. Ensuite, nous utilisons apifetch pour récupérer les données du post actuel. Nous passons lamp;rsquoID du message actuel avec la variable ${this.props.postid}. Nous en reparlerons plus tard. Une fois les données récupérées, nous mettrons à jour lamp;rsquoétat en utilisant les valeurs de lamp;rsquoAPI rest. Revenons maintenant à la variable postId. Pour le moment, nous ne connaissons pas lamp;rsquoID du message actuel, donc nous utilisons lamp;rsquoordre supérieur avec select comme suit: Const hoc = avec select ((select) = amp;gt
Const {getcurrentpostid} = select (amp;lsquoCORE editoramp;rsquo)
Retour à {
PostId: getcurrentpostid (),
}
}) (Bonjour, Gutenberg)
Registerplugin (amp;lsquoCiao Gutenbergamp;rsquo)
Icône:
Rendu: hoc,
}) Ceci passe lamp;rsquoID du message courant comme variable postId. Maintenant que pouvez lancer le post précédent, notre barre latérale Gutenberg affichera la valeur de votre métachamp. Mettre à jour les méta valeurs maintenant, nous devons permettre à la barre latérale de mettre à jour les méta valeurs. Comme pour les détails de récupération, nous utiliserons lamp;rsquoutilitaire WP. Apiresquest. Chaque fois que la valeur de lamp;rsquoétat change, nous la mettons à jour en utilisant lamp;rsquoAPI rest. Pour ce faire, nous devons damp;rsquoabord ajouter lamp;rsquoévénement onChange à textcontrol comme suit: {Y}
Voilà. Définir lamp;rsquoétat
Valeur
})
}
Ensuite, nous enverrons une demande de repos en utilisant la méthode getdrivedstatefromprops Lifecycle. Vous pouvez ajouter le code suivant sous le constructeur: getderivedstatefromprops (nextrops, State) {
WP. Apiresquest ({Path: ` Hello Gutenberg V1 update Meta? Id = ${nextrops.postid} amp;lsquo, Method:amp;rsquo post amp;lsquo, data: Status}). Alors (
(données) = amp;gt
Retourner les données
},
(erreur) = {
Erreur retournée
}
)
} chaque fois que nous changeons un métachamp damp;rsquoun champ, il met à jour le métachamp. Vous devriez maintenant voir un problème avec cette approche.
Maman. Encore une fois, camp;rsquoest un petit exemple de ce que pouvez faire avec lamp;rsquoAPI de barre latérale Gutenberg. Vous pouvez créer beaucoup de choses étonnantes avec Gutenberg et ses API. En savoir plus: Tutoriels Gutenberg pour les développeurs débutants comment utiliser le nouvel éditeur de bloc WordPress – WordPress Gutenberg aide à créer une page d’options plug in avec des composants Gutenberg voir nos autres tutoriels API: récupérer l’api JavaScript Google Maps API pour les développeurs débutants que voulez faire avec Gutenberg? Faites nous savoir. Comment rendre votre plugin WordPress compatible avec Gutenberg Mastering debar API Click to tweet N’oubliez pas de joindre à notre cours d’accélération pour accélérer votre site WordPress. Avec quelques corrections simples, pouvez réduire le temps de chargement de 50 à 80%:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins