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()en particulier pour les plugins qui enregistrent plusieurs types de blocs.

Image[1]-Nouvelle API d'enregistrement de type de bloc : améliore les performances dans WordPress 6.7 - Photon Flux | Professional WordPress Repair Service, Global Reach, Fast Response

É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, voir la page#55005.

Image[2]-Nouvelle API d'enregistrement de type de bloc : améliore les performances dans WordPress 6.7 - Photon Flux | Professional WordPress Repair Service, Global Reach, Fast Response

Cependant, la façon dont ce mécanisme est mis en œuvre 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).

prenez 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.

Image[3]-Nouvelle API d'enregistrement de type de bloc : améliore les performances dans WordPress 6.7 - Photon Flux | Professional WordPress Repair Service, Global Reach, Fast Response

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 NPMUn nouveau système a été mis en place dans lecommandebuild-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.

Image[4]-Nouvelle API d'enregistrement de type de bloc : améliore les performances dans WordPress 6.7 - Photon Flux | Professional WordPress Repair Service, Global Reach, Fast Response

Après avoir exécuté la compilation, vous pouvez utiliser la nouvelle fonctionwp-scripts build-blocks-manifest(commande). É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. Il suffit d'exécuter 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. */ )
).
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. */ )
).
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
wp-scripts build
wp-scripts build-blocks-manifest
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'
) ;
wp_register_block_metadata_collection(
wp_plugin_dir . '/my-block-library/build',
wp_plugin_dir . '/my-block-library/build/blocks-manifest.php'
) ;
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 .
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 .
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 .
Image[5]-Nouvelle API d'enregistrement de type de bloc : améliore les performances dans WordPress 6.7 - Photon Flux | Professional WordPress Repair Service, Global Reach, Fast Response

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.


Contactez nous
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.
© Déclaration de reproduction
Cet article a été rédigé par Harry
LA FIN
Si vous l'aimez, soutenez-le.
félicitations0 partager (joies, avantages, privilèges, etc.) avec les autres
commentaires achat de canapé

Veuillez vous connecter pour poster un commentaire

    Pas de commentaires