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](https://www.361sale.com/wp-content/uploads/2024/10/2024101802081176.png)
É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.json
Le fichier sera analysé comme unblocs-json.php
qui 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](https://www.361sale.com/wp-content/uploads/2024/10/2024101801555379.png)
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.json
Lire 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.json
Les documents qui doivent faire partie de la collection doivent tous se trouver dans le dossier fourni.$path
situé 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](https://www.361sale.com/wp-content/uploads/2024/10/2024101802114159.png)
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-manifest
Cette commande a été publiée dans le cadre de la version 30.3.0.@wordpress/scripts
devraitwp-scripts build-blocks-manifest
La commande accepte deux paramètres :
--entrée
ré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ée
Les paramètres sont équivalents aux paramètres$path
(math.) genre--Sortie
Les paramètres sont équivalents aux paramètres$manifeste
.
Exemple complet
Pour cet exemple, supposons que vous ayez unma-block-library
Plug-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 pluginsrc
et plus particulièrement dans le catalogue suivant :
src/pricing
utiliser pourmy-block-library/pricing
Blocs.src/services
utiliser pourmy-block-library/services
Blocs.src/testimonial
utiliser pourmy-block-library/testimonial
Blocs.
En utilisant leswp-scripts build
le code sera intégré dans le fichierconstruire
et 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](https://www.361sale.com/wp-content/uploads/2024/10/2024101802121913.png)
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-manifest
Il s'agit deblock.json
Lire les métadonnées des trois blocs dans le catalogueconstruire
et les fusionner dans unbuild/blocks-manifest.php
Documentation.
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 buildwp-scripts build-blocks-manifestwp-scripts build wp-scripts build-blocks-manifestwp-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](https://www.361sale.com/wp-content/uploads/2024/10/2024101802124064.png)
résumés
nouvelle fonctionnalitéwp_register_block_metadata_collection()
et son outil de soutien@wordpress/scripts
sont 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.
Lien vers cet article :https://www.361sale.com/fr/21715
L'article est protégé par le droit d'auteur et doit être reproduit avec mention.
Pas de commentaires