概要
generate_block_asset_handle
フィルタは、ワードプレスにおいて、ブロック名とフィールド名に基づいたアセットハンドル名を生成するために使用されます。このフィルタは、特に以下のような機能を実装する際によく使われます。
- プラグインやテーマにカスタムブロックを追加する際のアセット管理
- ブロックの依存関係に基づくスクリプトやスタイルの読み込み
- アセットの最適化やバージョニング機能を実装する場合
- エディタとフロントエンドの間で一貫したアセットの読み込み
- アセットの条件付き読み込みの実装
- プラグインのプレフィックスを使用したアセット名の一貫性確保
- アセットのローカリゼーションや依存関係の追加
- ポリフィルの読み込みを管理する際のカスタマイズ
構文
apply_filters( 'generate_block_asset_handle', $handle, $block_name, $field_name );
パラメータ
$handle
(string): 現在のアセットハンドル名。$block_name
(string): 対象のブロック名。$field_name
(string): 対象のフィールド名。
戻り値
- (string): フィルタ後のアセットハンドル名。
関連する関数
使用可能なバージョン
このフィルタは、WordPress 5.0以降で使用可能です。
コアファイルのパス
wp-includes/blocks.php
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: カスタムアセットハンドル名の生成
add_filter( 'generate_block_asset_handle', function( $handle, $block_name, $field_name ) {
return $handle . '-custom';
}, 10, 3 );
このサンプルコードは、デフォルトのアセットハンドル名に「-custom」を追加して、新しいアセットハンドル名を生成するものです。
サンプルコード2: 特定のブロックに対してハンドルを変更
add_filter( 'generate_block_asset_handle', function( $handle, $block_name ) {
if ( 'my-plugin/my-block' === $block_name ) {
return 'my-custom-handle';
}
return $handle;
}, 10, 2 );
このコードは、特定のブロックに対してカスタムのアセットハンドル名を設定するものです。
サンプルコード3: フィールド名による条件分岐
add_filter( 'generate_block_asset_handle', function( $handle, $block_name, $field_name ) {
if ( 'my-field' === $field_name ) {
return 'my-field-handle';
}
return $handle;
}, 10, 3 );
特定のフィールド名に基づいて、異なるアセットハンドルを生成するサンプルコードです。
サンプルコード4: 複数の条件によるアセット名の管理
add_filter( 'generate_block_asset_handle', function( $handle, $block_name, $field_name ) {
if ( 'my-plugin/my-block' === $block_name && 'another-field' === $field_name ) {
return 'custom-handle-for-another-field';
}
return $handle;
}, 10, 3 );
このサンプルは、特定のブロック名とフィールド名に基づいて、特定のハンドル名を生成します。
サンプルコード5: カスタムプレフィックスの追加
add_filter( 'generate_block_asset_handle', function( $handle, $block_name ) {
return 'my_prefix_' . $handle;
}, 10, 2 );
このコードは、すべてのアセットハンドル名に「my_prefix_」を追加するものです。