Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

WordPress 6.7 Introduction d'une nouvelle fonctionnalité qui permet aux plugins d'augmenter l'enregistrement de leurs blocs.wp_register_block_metadata_collection()notamment pour les plugins qui enregistrent plusieurs types de blocs.

Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

Étendre les comportements de base de WordPress aux plugins

Depuis WordPress 6.1, WordPress Core a inclus un mécanisme pour améliorer la performance du chargement de tous les types de blocs intégrés : dans le cadre du processus de construction, les blocs individuels de typeblock.jsonLe fichier sera analysé comme unblocs-json.phpqui renvoie toutes ses données sous forme de tableau.Améliore considérablement les performances en évitant d'avoir à effectuer de nombreuses opérations coûteuses sur le système de fichiers et le JSON à chaque requête de WordPress.de l'opération. Pour plus d'informations sur les modifications initiales, veuillez consulter le site web de la Commission européenne.#55005.

Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

Cependant, ce mécanisme est mis en œuvre d'une manière qui ne s'applique qu'à WordPress Core lui-même. Jusqu'à présent, les plugins n'ont pas pu bénéficier des mêmes avantages. En particulier pour les plugins qui contiennent eux-mêmes de nombreux types de blocs, cela signifie effectivement une perte de performance. Cela changera dans WordPress 6.7.

Collection de métadonnées des blocs enregistrés

Le plugin enregistre maintenant de manière optionnelle PHP "liste d'éléments"qui contient toutes les métadonnées pour son type de bloc. Pour tout type de bloc enregistré, WordPress Core vérifiera désormais s'il existe un fichier manifeste qui couvre ce type de bloc, et si c'est le cas, il utilisera les données du fichier manifeste à la place du fichierblock.jsonLire et analyser directement les fichiers de type bloc.

Afin d'utiliser cette nouvelle fonctionnalité, les développeurs de plugins doivent utiliser le nouveau modulewp_register_block_metadata_collection()qui prend deux arguments :

  • $path: Chemin de base où se trouvent les fichiers de blocs de la collection.
  • $manifeste: Chemin d'accès au fichier manifeste de la collection.

tout le mondeblock.jsonLes documents qui doivent faire partie de la collection doivent tous se trouver dans le dossier fourni.$pathsitué dans son propre répertoire correspondant au nom du type de bloc (sans l'espace de noms du bloc).

prendre noteEnregistrement des blocs : L'enregistrement d'une collection de métadonnées de blocs ne remplace pas la nécessité d'enregistrer les types de blocs individuels. Il est toujours nécessaire d'appeler la fonctionregister_block_type()peut-êtreregister_block_type_from_metadata(). L'utilisation de cette nouvelle fonctionnalité est facultative pour améliorer les performances, mais il est fortement recommandé de l'utiliser, en particulier pour les plugins qui enregistrent plusieurs types de blocs.

Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

Génération automatique de listes de collecte de métadonnées par bloc

Les développeurs de plugins sont responsables de la génération et de la maintenance des fichiers manifestes qu'ils enregistrent pour les collections de métadonnées des types de blocs du plugin. Afin de simplifier ce processus, la communauté a mis en place l'outilPaquet NPMLa mise en œuvre d'une nouvellecommandebuild-blocks-manifestCette commande a été publiée dans le cadre de la version 30.3.0.@wordpress/scripts

devraitwp-scripts build-blocks-manifestLa commande accepte deux paramètres :

  • --entréerépertoire : répertoire dans lequel se trouve le type de bloc. La valeur par défaut est "build".
  • --Sortie: Chemin d'accès au fichier dans lequel est stocké le manifeste de la collection de métadonnées des blocs de construction. La valeur par défaut est "build/blocks-manifest.php".

En fait, les paramètres de cette commande sont équivalents aux paramètres de la commandewp_register_block_metadata_collection(): :--entréeLes paramètres sont équivalents aux paramètres$path(math.) genre--SortieLes paramètres sont équivalents aux paramètres$manifeste.

Exemple complet

Pour cet exemple, supposons que vous ayez unma-block-libraryPlug-ins enregistrés pour 3 types de blocs :

  • my-block-library/pricing
  • my-block-library/services
  • my-block-library/testimonial

Le code source de ces types de blocs est implémenté dans le répertoire du pluginsrcet plus particulièrement dans le catalogue suivant :

  • src/pricingutiliser pourmy-block-library/pricingBlocs.
  • src/servicesutiliser pourmy-block-library/servicesBlocs.
  • src/testimonialutiliser pourmy-block-library/testimonialBlocs.

En utilisant leswp-scripts buildle code sera intégré dans le fichierconstruireet chaque type de bloc a le même sous-répertoire.

Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

Après avoir exécuté la compilation, vous pouvez utiliser la nouvelle fonctionwp-scripts build-blocks-manifest. Étant donné que le plugin utilise l'emplacement par défaut de son type de bloc, il n'est pas nécessaire de passer des paramètres à la commande. Exécutez simplement la commandewp-scripts build-blocks-manifestIl s'agit deblock.jsonLire les métadonnées des trois blocs dans le catalogueconstruireet les fusionner dans unbuild/blocks-manifest.phpDocumentation.

Le fichier manifeste se présente comme suit :

array( /* Bloquer les métadonnées. */ ), 'testimonial' => array( /* Bloquer les métadonnées.
'testimonial' => array( /* Bloquer les métadonnées. */ ), 'testimonial' => array( /* Bloquer les métadonnées. */ )
).

À l'avenir, les deux mêmes commandes pourront être utilisées pour modifier le type de bloc et sa mise en œuvre :

wp-scripts build
wp-scripts build-blocks-manifest

Après avoir généré le fichier manifeste, vous pouvez maintenant enregistrer la collection de métadonnées de bloc, comme indiqué ci-dessous :

wp_register_block_metadata_collection(
wp_plugin_dir . '/my-block-library/build',
wp_plugin_dir . '/my-block-library/build/blocks-manifest.php'
) ;

Un dernier point important, n'oubliez pas d'enregistrer le type de bloc :

register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/pricing' ).
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/services' ) ; register_block_type_from_metadata( WP_PLUGIN_DIR .
register_block_type_from_metadata( WP_PLUGIN_DIR . '/my-block-library/build/testimonial' ) ; register_block_type_from_metadata( WP_PLUGIN_DIR .
Nouvelle API d'enregistrement des types de blocs : amélioration des performances dans WordPress 6.7

résumés

nouvelle fonctionnalitéwp_register_block_metadata_collection()et son outil de soutien@wordpress/scriptssont une combinaison puissante pour améliorer les performances des types de blocs d'enregistrement de plugins. Ils rendent le processus facile et simple, donc si les plugins enregistrent des types de blocs, envisagez d'incorporer cette approche dans votre flux de développement et votre base de code de plugin.


Nous contacter
Vous ne pouvez pas lire l'article ? Contactez-nous pour une réponse gratuite ! Aide gratuite pour les sites personnels et les sites de petites entreprises !
Tel : 020-2206-9892
QQ咨询:1025174874
(iii) Courriel : info@361sale.com
Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Posté par photon fluctuations, retweeté avec attribution :https://www.361sale.com/fr/21715/

Comme (0)
Précédent 1 il y a un jour
Suivant 9 il y a quelques heures

Recommandé

Laisser un commentaire

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

Nous contacter

020-2206-9892

QQ咨询:1025174874

Courriel : info@361sale.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.

Service clientèle WeChat