insert_hooked_blocks()


WordPressのinsert_hooked_blocks()関数は、フックされたブロックを特定の位置に挿入するために使用されます。この関数は、テーマやプラグイン開発者がブロックを動的に追加する際に役立ちます。

構文

insert_hooked_blocks( string $content, array $blocks, string $position = 'before' );

引数の説明:

  • $content(string) — ブロックを挿入する対象のコンテンツ。
  • $blocks(array) — 挿入するブロックの配列。
  • $position(string) — ブロックを挿入する位置。デフォルトは’before’で、’after’も指定可能。

例1: コンテンツの前にブロックを挿入

この例では、指定したコンテンツの前にブロックを挿入します。

<?php echo insert_hooked_blocks( get_the_content(), array( 'core/paragraph' ) ); ?>

例2: コンテンツの後にブロックを挿入

この例では、指定したコンテンツの後にブロックを挿入します。

<?php echo insert_hooked_blocks( get_the_content(), array( 'core/heading' ), 'after' ); ?>

例3: 複数のブロックを挿入

この例では、複数のブロックを一度に挿入します。

<?php echo insert_hooked_blocks( get_the_content(), array( 'core/paragraph', 'core/image' ) ); ?>

例4: カスタムブロックを挿入

この例では、カスタムブロックを挿入します。

<?php echo insert_hooked_blocks( get_the_content(), array( 'my-plugin/custom-block' ) ); ?>

例5: 特定の投稿にブロックを挿入

この例では、特定の投稿のコンテンツにブロックを挿入します。

<?php echo insert_hooked_blocks( get_post_field( 'post_content', get_the_ID() ), array( 'core/quote' ) ); ?>

例6: ショートコード内でブロックを挿入

この例では、ショートコード内でブロックを挿入します。

<?php echo do_shortcode( '[my_shortcode]' . insert_hooked_blocks( get_the_content(), array( 'core/list' ) ) . '[/my_shortcode]' ); ?>

例7: フィルターフックでブロックを挿入

この例では、フィルターフックを使用してブロックを挿入します。

add_filter( 'the_content', function( $content ) { return insert_hooked_blocks( $content, array( 'core/gallery' ) ); } );

例8: 条件付きでブロックを挿入

この例では、特定の条件を満たす場合にのみブロックを挿入します。

<?php if ( is_single() ) { echo insert_hooked_blocks( get_the_content(), array( 'core/button' ) ); } ?>

注意点

  • ブロックの挿入位置を誤ると、レイアウトが崩れる可能性があります。
  • 動的にブロックを追加する場合、パフォーマンスに影響を与えることがあります。
  • カスタムブロックを使用する際は、適切に登録されていることを確認してください。

関連機能: