新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

ワードプレス 6.7 プラグインがブロックの登録を上げることができる新機能を導入wp_register_block_metadata_collection()型のパフォーマンス、特に複数のブロック・タイプを登録するプラグインのパフォーマンスを向上させます。

新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

WordPressのコア動作をプラグインに拡張

WordPress 6.1以降、WordPress Coreはすべての組み込みブロックタイプの読み込みのパフォーマンスを向上させるメカニズムを搭載しています。ブロック.jsonファイルはブロックjson.phpファイルのすべてのデータを配列として返します。WordPressの各リクエストで高価なファイルシステムとJSONを多数実行する必要性を回避することにより、パフォーマンスが大幅に向上します。の運用を開始しました。当初の変更の背景については#55005.

新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

しかし、この仕組みはWordPress Core自体にしか適用されません。これまでのところ、プラグインは同じ利点を実現できていません。特に、プラグイン自体に多くのブロックタイプが含まれている場合、これは事実上パフォーマンスの低下を意味します。これは WordPress 6.7 で変更される予定です。

登録ブロックメタデータ集

プラグインはオプションで PHP "品目リスト"ファイルを使用します。登録されているブロックタイプについて、WordPress Core はそのブロックタイプをカバーするマニフェストファイルが存在するかどうかをチェックし、存在する場合はブロック.jsonブロック型ファイルを直接読み取り、解析します。

この新機能を使用するには、プラグイン開発者は新しいwp_register_block_metadata_collection()関数は2つの引数を取ります:

  • $パスコレクションのブロックファイルがあるベースパス。
  • 1TP4マニフェストコレクションのマニフェストファイルへのパス。

みんなブロック.jsonコレクションの一部となるべき文書はすべて、提供された$パスブロック・タイプ名と一致する(ブロック名前空間を含まない)独自のディレクトリにあります。

銘記するブロックメタデータのコレクションを登録しても、個々のブロックタイプを登録する必要性に取って代わるわけではありません。やはりregister_block_type()もしかしたらregister_block_type_from_metadata().新機能の使用はパフォーマンス向上のために任意ですが、特に複数のブロックタイプを登録するプラグインでは、この機能を使用することを強くお勧めします。

新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

ブロックメタデータ収集リストの自動生成

プラグイン開発者は、プラグインのブロックタイプのメタデータコレクションのために登録するマニフェストファイルを生成し、維持する責任があります。このプロセスを簡略化するために、コミュニティはNPMパッケージ新しい命令ビルドブロックマニフェストこのコマンドはバージョン30.3.0の一部としてリリースされました。wordpress/スクリプト

ねばならないwp-scripts build-blocks-manifestsこのコマンドは2つのパラメーターを受け付けます:

  • --入力: ブロックタイプがあるディレクトリ。デフォルト値は "build"。
  • --出力: ビルド・ブロック・メタデータ・コレクション・マニフェストが格納されているファイルへのパス。デフォルトは "build/blocks-manifest.php" です。

実際、このコマンドのパラメーターはwp_register_block_metadata_collection()::--入力パラメータはパラメータと同じです。$パス--出力パラメータはパラメータと同じです。1TP4マニフェスト.

完全な例

この例ではマイ・ブロック・ライブラリー3つのブロックタイプのプラグインを登録:

  • マイブロックライブラリー/プライシング
  • マイブロック図書館/サービス
  • マイ・ブロック・ライブラリー/お客様の声

これらのブロックタイプのソースコードはプラグインのディレクトリに実装されています。ソース具体的には以下のカタログに掲載されています:

  • src/pricing使用マイブロックライブラリー/プライシングブロック。
  • src/サービス使用マイブロック図書館/サービスブロック。
  • src/testimonial使用マイ・ブロック・ライブラリー/お客様の声ブロック。

既存のwpスクリプトビルドコマンドを実行すると、コードはプラグインのビルドディレクトリにあり、各ブロックタイプには同じサブディレクトリがあります。

新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

ビルドを実行したら、新しいwp-scripts build-blocks-manifestsコマンドを使用します。プラグインはブロックタイプのデフォルトの場所を使うので、コマンドにパラメータを渡す必要はありません。単にwp-scripts build-blocks-manifestsそれはブロック.jsonカタログから3ブロックすべてのメタデータを読み込みます。ビルドにマージします。build/blocks-manifest.phpドキュメンテーション

マニフェストファイルは次のようになります:

array( /* メタデータをブロックします。 */ ), 'testimonial' => array( /* メタデータをブロックします。 */ ), 'testimonial' => array( /* メタデータをブロックします。
'testimonial' => array( /* メタデータをブロックします。 */ ), 'testimonial' => array( /* メタデータをブロックします。 */ )
).

今後、ブロックタイプとその実装に変更を加える場合、同じ2つのコマンドを使用できます:

wp-scripts build
wp-scriptsビルドブロックマニフェスト

マニフェスト・ファイルを生成したら、次のようにブロック・メタデータ・コレクションを登録します:

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

最後の重要なポイントとして、実際のブロックタイプを登録することを忘れないでください:

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 .
新しいブロックタイプ登録API: WordPress 6.7のパフォーマンス向上

概要

新機能wp_register_block_metadata_collection()およびそのツールサポートwordpress/スクリプトは、プラグインの登録ブロックタイプのパフォーマンスを向上させるための強力な組み合わせです。プラグインがブロックタイプを登録する場合、開発ワークフローとプラグインコードベースにこのアプローチを取り入れることを検討してください。


お問い合わせ
記事が読めない?無料でお答えします!個人サイト、中小企業サイトのための無料ヘルプ!
電話:020-2206-9892
QQ咨询:1025174874
Eメール:info@361sale.com
勤務時間:月~金、9:30~18:30、祝日休み
投稿者:photon fluctuations、リツイート(帰属表示付き):https://www.361sale.com/ja/21715/

好き (0)
前へ 1日前
次のページ 9時間前

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

お問い合わせ

020-2206-9892

QQ咨询:1025174874

Eメール:info@361sale.com

勤務時間:月~金、9:30~18:30、祝日休み

カスタマーサービス WeChat